From 11249a733930112d101d0d9d37fb0150f9c066cb Mon Sep 17 00:00:00 2001 From: erictian Date: Fri, 10 May 2013 05:23:39 +0000 Subject: MdeMdeModulePkg/Xhci: Clear BIOS_OWN semaphore before halting XHCI controller Signed-off-by: Feng Tian Reviewed-by: Steven Shi git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14339 6f19259b-4bc3-4df7-8a09-765794883524 --- MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'MdeModulePkg/Bus/Pci') diff --git a/MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c b/MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c index 5809a0f914..8e6bc6ff64 100644 --- a/MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c +++ b/MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c @@ -932,9 +932,9 @@ XhcControlTransfer ( } Xhc->UsbDevContext[SlotId].ConfDesc = AllocateZeroPool (Xhc->UsbDevContext[SlotId].DevDesc.NumConfigurations * sizeof (EFI_USB_CONFIG_DESCRIPTOR *)); if (Xhc->HcCParams.Data.Csz == 0) { - Status = XhcEvaluateContext (Xhc, SlotId, MaxPacket0); + Status = XhcEvaluateContext (Xhc, SlotId, MaxPacket0); } else { - Status = XhcEvaluateContext64 (Xhc, SlotId, MaxPacket0); + Status = XhcEvaluateContext64 (Xhc, SlotId, MaxPacket0); } ASSERT_EFI_ERROR (Status); } else if (DescriptorType == USB_DESC_TYPE_CONFIG) { @@ -1802,6 +1802,8 @@ XhcExitBootService ( gBS->CloseEvent (Xhc->PollTimer); } + XhcClearBiosOwnership (Xhc); + // // Restore original PCI attributes // @@ -1811,8 +1813,6 @@ XhcExitBootService ( Xhc->OriginalPciAttributes, NULL ); - - XhcClearBiosOwnership (Xhc); } /** -- cgit v1.2.3