X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=EmbeddedPkg%2FEbl%2FEfiDevice.c;fp=EmbeddedPkg%2FEbl%2FEfiDevice.c;h=922be589bdb9657cc66d91d8aa34d99ce0f8e5bf;hp=80dcfcb5cc2c26373c567465301b5aae4c0cf3da;hb=6191913fb4914f380597904f2025b1deb644e772;hpb=4da3058929fed46bc508c1b30f43c62c64f196b7 diff --git a/EmbeddedPkg/Ebl/EfiDevice.c b/EmbeddedPkg/Ebl/EfiDevice.c index 80dcfcb5cc..922be589bd 100644 --- a/EmbeddedPkg/Ebl/EfiDevice.c +++ b/EmbeddedPkg/Ebl/EfiDevice.c @@ -227,16 +227,10 @@ EblDeviceCmd ( File = EfiDeviceOpenByType (EfiOpenBlockIo, Index); if (File != NULL) { if (File->FsBlockIoMedia->RemovableMedia) { - if (File->FsBlockIoMedia->MediaPresent) { - // Probe to see if media is present - Status = File->FsBlockIo->ReadBlocks (File->FsBlockIo, File->FsBlockIo->Media->MediaId, (EFI_LBA)0, 0, NULL); - if (Status == EFI_NO_MEDIA) { - gBS->DisconnectController (File->EfiHandle, NULL, NULL); - } - } else { - // Probe for media insertion and connect partition and filesystem drivers if needed - gBS->ConnectController (File->EfiHandle, NULL, NULL, TRUE); - } + // Probe to see if media is present (or not) or media changed + // this causes the ReinstallProtocolInterface() to fire in the + // block io driver to update the system about media change events + File->FsBlockIo->ReadBlocks (File->FsBlockIo, File->FsBlockIo->Media->MediaId, (EFI_LBA)0, 0, NULL); } EfiClose (File); }