diff --git a/MdeModulePkg/Bus/Pci/XhciPei/XhcPeim.c b/MdeModulePkg/Bus/Pci/XhciPei/XhcPeim.c index 99f69f730b..c5631e87ca 100644 --- a/MdeModulePkg/Bus/Pci/XhciPei/XhcPeim.c +++ b/MdeModulePkg/Bus/Pci/XhciPei/XhcPeim.c @@ -1427,6 +1427,8 @@ XhcEndOfPei ( XhcPeiHaltHC (Xhc, XHC_GENERIC_TIMEOUT); + XhcPeiFreeSched (Xhc); + return EFI_SUCCESS; } @@ -1461,8 +1463,6 @@ XhcPeimEntry ( return EFI_SUCCESS; } - IoMmuInit (); - Status = PeiServicesLocatePpi ( &gPeiUsbControllerPpiGuid, 0, @@ -1473,6 +1473,8 @@ XhcPeimEntry ( return EFI_UNSUPPORTED; } + IoMmuInit (); + Index = 0; while (TRUE) { Status = UsbControllerPpi->GetUsbController (