[Description]:

The Usb1.1 flash disk will hang for Bootable Image Support Test -> Bloack IO protocol Test -> Reset_Func.
[Solution]:
 Add a stall 20ms after set address when port reset for Usb hub.
[Impaction]:
 UsbBusDxe.
[Reference Info]:
 EDK tracker 1120 - USB flash disk hang or fail in the new SCT blockIo test. 



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5365 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
vanjeff 2008-06-24 08:13:58 +00:00
parent 8b13229b46
commit 7e388f859f
1 changed files with 5 additions and 2 deletions

View File

@ -840,7 +840,8 @@ UsbIoPortReset (
Address = Dev->Address;
Dev->Address = 0;
Status = UsbSetAddress (Dev, Address);
Dev->Address = Address;
if (EFI_ERROR (Status)) {
DEBUG (( EFI_D_ERROR, "UsbIoPortReset: failed to set address for device %d - %r\n",
Address, Status));
@ -848,8 +849,10 @@ UsbIoPortReset (
goto ON_EXIT;
}
Dev->Address = Address;
gBS->Stall (USB_SET_DEVICE_ADDRESS_STALL);
DEBUG (( EFI_D_INFO, "UsbIoPortReset: device is now ADDRESSED at %d\n", Address));
//
// Reset the current active configure, after this device
// is in CONFIGURED state.