return EFI_DEVICE_ERROR if the Status value is not EFI_SUCCESS.

it's because BlockIo.Reset() only has two possible values: EFI_SUCCESS and EFI_DEVICE_ERROR according to UEFI2.3 spec

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10956 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
erictian
2010-10-19 02:55:16 +00:00
parent fbe12b79ae
commit c6e797aeda
4 changed files with 20 additions and 6 deletions

View File

@@ -398,12 +398,22 @@ ScsiDiskReset (
Status = ScsiDiskDevice->ScsiIo->ResetDevice (ScsiDiskDevice->ScsiIo);
if (EFI_ERROR (Status)) {
Status = EFI_DEVICE_ERROR;
goto Done;
}
if (!ExtendedVerification) {
goto Done;
}
Status = ScsiDiskDevice->ScsiIo->ResetBus (ScsiDiskDevice->ScsiIo);
if (EFI_ERROR (Status)) {
Status = EFI_DEVICE_ERROR;
goto Done;
}
Done:
gBS->RestoreTPL (OldTpl);
return Status;