audk/MdeModulePkg
Ruiyu Ni 6461344c31 MdeModulePkg/UsbMass: Fix hot-plug USB CDROM can't be recognized
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:
SHA1 a662afb5b0
* 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>
2018-02-15 14:17:22 +08:00
..
Application MdeModulePkg: Fix misuses of AllocateCopyPool 2017-11-08 17:13:03 +08:00
Bus MdeModulePkg/UsbMass: Fix hot-plug USB CDROM can't be recognized 2018-02-15 14:17:22 +08:00
Core MdeModulePkg/PeiMain: Cleanup whitespace in Reset.c 2018-02-09 15:29:50 +08:00
Include MdeModulePkg/Performance.h: Remove the useless definition 2018-02-12 11:36:16 +08:00
Library MdeModulePkg/ResetUtilityLib: Fix GCC build failure 2018-02-14 09:13:48 +08:00
Logo MdeModulePkg/LogoDxe: Return error if HII Package not present 2017-05-22 16:30:11 -07:00
Universal MdeModulePkg/BdsDxe: Remove useless perf Code 2018-02-12 11:36:14 +08:00
MdeModulePkg.dec MdeModulePkg: Add BmpSupportLib class and instance 2018-02-11 16:04:54 -08:00
MdeModulePkg.dsc MdeModulePkg/DxeCapsuleLibFmp: Use BmpSupportLib 2018-02-11 16:05:15 -08:00
MdeModulePkg.uni MdeModulePkg/ResetSystemPei: Add reset notifications in PEI 2018-02-09 15:30:01 +08:00
MdeModulePkgExtra.uni MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00