mirror of https://github.com/acidanthera/audk.git
6461344c31
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
|
||
---|---|---|
.. | ||
ComponentName.c | ||
UsbMass.h | ||
UsbMassBoot.c | ||
UsbMassBoot.h | ||
UsbMassBot.c | ||
UsbMassBot.h | ||
UsbMassCbi.c | ||
UsbMassCbi.h | ||
UsbMassDiskInfo.c | ||
UsbMassDiskInfo.h | ||
UsbMassImpl.c | ||
UsbMassImpl.h | ||
UsbMassStorageDxe.inf | ||
UsbMassStorageDxe.uni | ||
UsbMassStorageDxeExtra.uni |