)\r
{\r
USB_HC_DEV *Uhc;\r
+ EFI_STATUS Status;\r
\r
//\r
// Uninstall the USB_HC and USB_HC2 protocol, then disable the controller\r
//\r
Uhc = UHC_FROM_USB2_HC_PROTO (This);\r
- UhciStopHc (Uhc, UHC_GENERIC_TIMEOUT);\r
\r
- gBS->UninstallProtocolInterface (\r
- Controller,\r
- &gEfiUsb2HcProtocolGuid,\r
- &Uhc->Usb2Hc\r
- );\r
\r
+ Status = gBS->UninstallProtocolInterface (\r
+ Controller,\r
+ &gEfiUsb2HcProtocolGuid,\r
+ &Uhc->Usb2Hc\r
+ );\r
+ if (EFI_ERROR (Status)) {\r
+ return ;\r
+ }\r
+\r
+ UhciStopHc (Uhc, UHC_GENERIC_TIMEOUT);\r
UhciFreeAllAsyncReq (Uhc);\r
UhciDestoryFrameList (Uhc);\r
\r