USB_DEVICE *Dev;\r
EFI_TPL OldTpl;\r
EFI_STATUS Status;\r
+ UINT8 DevAddress;\r
\r
OldTpl = gBS->RaiseTPL (USB_BUS_TPL);\r
\r
goto ON_EXIT;\r
}\r
\r
+ HubIf->HubApi->ClearPortChange (HubIf, Dev->ParentPort);\r
+\r
//\r
// Reset the device to its current address. The device now has an address\r
// of ZERO after port reset, so need to set Dev->Address to the device again for\r
// host to communicate with it.\r
//\r
- Status = UsbSetAddress (Dev, Dev->Address);\r
+ DevAddress = Dev->Address;\r
+ Dev->Address = 0;\r
+ Status = UsbSetAddress (Dev, DevAddress);\r
+ Dev->Address = DevAddress;\r
\r
gBS->Stall (USB_SET_DEVICE_ADDRESS_STALL);\r
\r