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

@ -4,7 +4,7 @@
This file implements protocol interfaces: Driver Binding protocol,
Block IO protocol and DiskInfo protocol.
Copyright (c) 2009, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -773,6 +773,10 @@ AtaBlockIoReset (
Status = ResetAtaDevice (AtaDevice);
if (EFI_ERROR (Status)) {
Status = EFI_DEVICE_ERROR;
}
gBS->RestoreTPL (OldTpl);
return Status;
}

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;

View File

@ -2,7 +2,7 @@
Implementation of the USB mass storage Bulk-Only Transport protocol,
according to USB Mass Storage Class Bulk-Only Transport, Revision 1.0.
Copyright (c) 2007 - 2008, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -484,7 +484,7 @@ UsbBotResetDevice (
//
Status = UsbBot->UsbIo->UsbPortReset (UsbBot->UsbIo);
if (EFI_ERROR (Status)) {
return Status;
return EFI_DEVICE_ERROR;
}
}
@ -510,7 +510,7 @@ UsbBotResetDevice (
);
if (EFI_ERROR (Status)) {
return Status;
return EFI_DEVICE_ERROR;
}
//

View File

@ -4,7 +4,7 @@
Notice: it is being obsoleted by the standard body in favor of the BOT
(Bulk-Only Transport).
Copyright (c) 2007 - 2008, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -575,7 +575,7 @@ UsbCbiResetDevice (
//
Status = UsbCbiSendCommand (UsbCbi, ResetCmd, USB_CBI_RESET_CMD_LEN, Timeout);
if (EFI_ERROR (Status)) {
return Status;
return EFI_DEVICE_ERROR;
}
//