summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Bus/Pci
diff options
context:
space:
mode:
authormdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524>2010-05-07 22:46:14 +0000
committermdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524>2010-05-07 22:46:14 +0000
commit2dda77a650cf350751b5536a48d586a3ae02d515 (patch)
treec924e69235d8f6e59628eb5b440e703241674f8f /MdeModulePkg/Bus/Pci
parent8063b47b1ca5aae1788a30568c2996ca81748010 (diff)
downloadedk2-platforms-2dda77a650cf350751b5536a48d586a3ae02d515.tar.xz
Update UHCI and ECHI drivers to both Stop and Reset the host controller at ExitBootServices().
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10464 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg/Bus/Pci')
-rw-r--r--MdeModulePkg/Bus/Pci/EhciDxe/Ehci.c6
-rw-r--r--MdeModulePkg/Bus/Pci/UhciDxe/Uhci.c6
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);
}
/**