166be39c8d7924213472c588481c2093069901ca
In below calling stack: UsbBootIsUnitReady() UsbBootExecCmdWithRetry() UsbBootExecCmd() UsbBootRequestSense() When USB CDROM is hot-plugged, UsbBootRequestSense() retrieves sense key (6 = UnitAttention), additional sense code (29h = Power ON). But it wrongly maps such sense data to Device Error status. It causes UsbBootExecCmd() executed again. In the second time call to UsbBootExecCmd(), UsbBootRequestSense() retrieves sense key (6 = UnitAttention), additional sense code (28h = media changed). The above analysis explains why hot-plug USB CDROM cannot be recognized after below commit: SHA1a662afb5b0
* MdeModulePkg/UsbStorage: Fix "map -r" cannot detect media change, which removes the media changed status check in UsbBootDetectMedia(). The proper fix to this problem is to map the ASC (additional sense code 29h) properly to success status so that no second call to UsbBootExecCmd() is made. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com> Cc: Feng Tian <feng.tian@intel.com> (cherry picked from commit6461344c31
)
EDK II Project
A modern, feature-rich, cross-platform firmware development environment for the UEFI and PI specifications from www.uefi.org.
Contributions to the EDK II open source project are covered by the TianoCore Contribution Agreement 1.1
The majority of the content in the EDK II open source project uses a BSD 2-Clause License. The EDK II open source project contains the following components that are covered by additional licenses:
- AppPkg/Applications/Python/Python-2.7.2/Tools/pybench
- AppPkg/Applications/Python/Python-2.7.2
- AppPkg/Applications/Python/Python-2.7.10
- BaseTools/Source/C/BrotliCompress
- MdeModulePkg/Library/BrotliCustomDecompressLib
- OvmfPkg
- CryptoPkg/Library/OpensslLib/openssl
The EDK II Project is composed of packages. The maintainers for each package are listed in Maintainers.txt.
Resources
Description
Languages
C
82.2%
Python
10.3%
Assembly
3.4%
Rich Text Format
1.8%
C++
0.7%
Other
1.2%