audk/MdeModulePkg/Bus
Ruiyu Ni a662afb5b0 MdeModulePkg/UsbStorage: Fix "map -r" cannot detect media change
When system boots to Shell without CDROM in the USB CDROM drive,
and then user inserts one CDROM with Eltorito file system,
"map -r" cannot show the the new Eltorito file system.

The root cause is when "map" command probes the media change
by calling dummy ReadBlockIo(), UsbMassStorage ReadBlockIo()
contains a bug that ignores the media change status:
UsbBootDetectMedia() ignores the EFI_MEDIA_CHANGED status
returned from UsbBootIsUnitReady(), in consequence, the
BlockIo protocol re-installation logic doesn't run.

By checking the code change history, below commit
SHA-1: 19bc852765
* remove unnecessary retry logic from usb mass storage driver.
adds the code to skip EFI_MEDIA_CHANGED status.

Talking with the original committer Tian Feng, he said the
change was just a code cleanup, not for a special bug fix.
So I revert part of the patch, only keep the change that
removes unnecessary retry logic. It can fix this bug.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Feng Tian <feng.tian@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
2018-01-22 10:18:04 +08:00
..
Ata MdeModulePkg/AtaAtapiPassThru: Revert patch to disable PCI attributes 2017-11-29 09:02:46 +08:00
I2c/I2cDxe MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
Isa MdeModulePkg: Update comments in SimpleTextInEx according to UEFI 2.7 2017-06-20 09:29:42 +08:00
Pci MdeModulePkg/EhciDxe: call EhcFreeUrb when int-transfer completes 2018-01-16 10:58:02 +08:00
Scsi MdeModulePkg/ScsiDisk: Return EFI_NO_MEDIA when no media presents 2017-12-09 12:32:42 +08:00
Sd MdeModulePkg/SdBlockIoPei: Support IoMmu 2017-11-17 11:38:46 +08:00
Ufs MdeModulePkg/UfsBlockIoPei: Support IoMmu 2017-11-17 11:35:02 +08:00
Usb MdeModulePkg/UsbStorage: Fix "map -r" cannot detect media change 2018-01-22 10:18:04 +08:00