If device detected power failure, just retry. This operation is common in linux kernel.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Haojian Zhuang <[email protected]> --- MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDisk.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDisk.c b/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDisk.c index b5eff25..a7b62ec 100644 --- a/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDisk.c +++ b/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDisk.c @@ -2251,6 +2251,12 @@ ScsiDiskTestUnitReady ( if (SenseDataLength != 0) { *NumberOfSenseKeys = SenseDataLength / sizeof (EFI_SCSI_SENSE_DATA); *SenseDataArray = ScsiDiskDevice->SenseData; + if (((*SenseDataArray)->Sense_Key == EFI_SCSI_SK_UNIT_ATTENTION) && + ((*SenseDataArray)->Addnl_Sense_Code == 0x29) && + ((*SenseDataArray)->Addnl_Sense_Code_Qualifier == 0)) { + *NeedRetry = TRUE; + return EFI_NOT_READY; + } return EFI_SUCCESS; } -- 2.7.4 _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

