]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EmbeddedPkg/Ebl/EfiDevice.c
Removed connect/disconnect in device command and replace with simple BlockIo readbloc...
[mirror_edk2.git] / EmbeddedPkg / Ebl / EfiDevice.c
index 80dcfcb5cc2c26373c567465301b5aae4c0cf3da..922be589bdb9657cc66d91d8aa34d99ce0f8e5bf 100644 (file)
@@ -227,16 +227,10 @@ EblDeviceCmd (
       File = EfiDeviceOpenByType (EfiOpenBlockIo, Index);\r
       if (File != NULL) {\r
         if (File->FsBlockIoMedia->RemovableMedia) {\r
       File = EfiDeviceOpenByType (EfiOpenBlockIo, Index);\r
       if (File != NULL) {\r
         if (File->FsBlockIoMedia->RemovableMedia) {\r
-          if (File->FsBlockIoMedia->MediaPresent) {\r
-            // Probe to see if media is present\r
-            Status = File->FsBlockIo->ReadBlocks (File->FsBlockIo, File->FsBlockIo->Media->MediaId, (EFI_LBA)0, 0, NULL);\r
-            if (Status == EFI_NO_MEDIA) {\r
-              gBS->DisconnectController (File->EfiHandle, NULL, NULL);\r
-            }\r
-          } else {\r
-            // Probe for media insertion and connect partition and filesystem drivers if needed\r
-            gBS->ConnectController (File->EfiHandle, NULL, NULL, TRUE);\r
-          }\r
+          // Probe to see if media is present (or not) or media changed\r
+          //  this causes the ReinstallProtocolInterface() to fire in the\r
+          //  block io driver to update the system about media change events\r
+          File->FsBlockIo->ReadBlocks (File->FsBlockIo, File->FsBlockIo->Media->MediaId, (EFI_LBA)0, 0, NULL);\r
         }\r
         EfiClose (File);\r
       }\r
         }\r
         EfiClose (File);\r
       }\r