diff options
Diffstat (limited to 'MdeModulePkg/Bus')
-rw-r--r-- | MdeModulePkg/Bus/Pci/EhciDxe/Ehci.c | 6 | ||||
-rw-r--r-- | MdeModulePkg/Bus/Pci/UhciDxe/Uhci.c | 6 |
2 files changed, 7 insertions, 5 deletions
diff --git a/MdeModulePkg/Bus/Pci/EhciDxe/Ehci.c b/MdeModulePkg/Bus/Pci/EhciDxe/Ehci.c index 238766c56c..87e4aa079b 100644 --- a/MdeModulePkg/Bus/Pci/EhciDxe/Ehci.c +++ b/MdeModulePkg/Bus/Pci/EhciDxe/Ehci.c @@ -1476,11 +1476,9 @@ EhcExitBootService ( Ehc = (USB2_HC_DEV *) Context;
//
- // Stop the Host Controller
+ // Reset the Host Controller
//
- EhcHaltHC (Ehc, EHC_GENERIC_TIMEOUT);
-
- return;
+ EhcResetHC (Ehc, EHC_RESET_TIMEOUT);
}
diff --git a/MdeModulePkg/Bus/Pci/UhciDxe/Uhci.c b/MdeModulePkg/Bus/Pci/UhciDxe/Uhci.c index 92567f93e4..beea8f32d6 100644 --- a/MdeModulePkg/Bus/Pci/UhciDxe/Uhci.c +++ b/MdeModulePkg/Bus/Pci/UhciDxe/Uhci.c @@ -1588,7 +1588,11 @@ UhcExitBootService ( //
UhciStopHc (Uhc, UHC_GENERIC_TIMEOUT);
- return;
+ //
+ // Reset the Host Controller
+ //
+ UhciSetRegBit (Uhc->PciIo, USBCMD_OFFSET, USBCMD_HCRESET);
+ gBS->Stall (UHC_ROOT_PORT_RECOVERY_STALL);
}
/**
|