mirror of https://github.com/acidanthera/audk.git
MdeMdeModulePkg/Xhci: Clear BIOS_OWN semaphore before halting XHCI controller
Signed-off-by: Feng Tian <feng.tian@intel.com> Reviewed-by: Steven Shi <steven.shi@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14339 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
70eca31be1
commit
11249a7339
|
@ -932,9 +932,9 @@ XhcControlTransfer (
|
||||||
}
|
}
|
||||||
Xhc->UsbDevContext[SlotId].ConfDesc = AllocateZeroPool (Xhc->UsbDevContext[SlotId].DevDesc.NumConfigurations * sizeof (EFI_USB_CONFIG_DESCRIPTOR *));
|
Xhc->UsbDevContext[SlotId].ConfDesc = AllocateZeroPool (Xhc->UsbDevContext[SlotId].DevDesc.NumConfigurations * sizeof (EFI_USB_CONFIG_DESCRIPTOR *));
|
||||||
if (Xhc->HcCParams.Data.Csz == 0) {
|
if (Xhc->HcCParams.Data.Csz == 0) {
|
||||||
Status = XhcEvaluateContext (Xhc, SlotId, MaxPacket0);
|
Status = XhcEvaluateContext (Xhc, SlotId, MaxPacket0);
|
||||||
} else {
|
} else {
|
||||||
Status = XhcEvaluateContext64 (Xhc, SlotId, MaxPacket0);
|
Status = XhcEvaluateContext64 (Xhc, SlotId, MaxPacket0);
|
||||||
}
|
}
|
||||||
ASSERT_EFI_ERROR (Status);
|
ASSERT_EFI_ERROR (Status);
|
||||||
} else if (DescriptorType == USB_DESC_TYPE_CONFIG) {
|
} else if (DescriptorType == USB_DESC_TYPE_CONFIG) {
|
||||||
|
@ -1802,6 +1802,8 @@ XhcExitBootService (
|
||||||
gBS->CloseEvent (Xhc->PollTimer);
|
gBS->CloseEvent (Xhc->PollTimer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
XhcClearBiosOwnership (Xhc);
|
||||||
|
|
||||||
//
|
//
|
||||||
// Restore original PCI attributes
|
// Restore original PCI attributes
|
||||||
//
|
//
|
||||||
|
@ -1811,8 +1813,6 @@ XhcExitBootService (
|
||||||
Xhc->OriginalPciAttributes,
|
Xhc->OriginalPciAttributes,
|
||||||
NULL
|
NULL
|
||||||
);
|
);
|
||||||
|
|
||||||
XhcClearBiosOwnership (Xhc);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue