]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Bus/Pci/EhciDxe/EhciSched.c
Minor bug fix and robustness check improvement.
[mirror_edk2.git] / MdeModulePkg / Bus / Pci / EhciDxe / EhciSched.c
index 208620640498e55eb377bea6e3ea9dbdcfbcd6dd..d2e53300afb0fa82838a9a28daa003e6f36a08b7 100644 (file)
@@ -182,7 +182,8 @@ EhcInitSched (
                    );\r
 \r
   if (Ehc->MemPool == NULL) {\r
-    goto ErrorExit;\r
+    Status = EFI_OUT_OF_RESOURCES;\r
+    goto ErrorExit1;\r
   }\r
 \r
   Status = EhcCreateHelpQ (Ehc);\r
@@ -223,9 +224,6 @@ EhcInitSched (
   return EFI_SUCCESS;\r
 \r
 ErrorExit:\r
-  PciIo->FreeBuffer (PciIo, Pages, Buf);\r
-  PciIo->Unmap (PciIo, Map);\r
-\r
   if (Ehc->PeriodOne != NULL) {\r
     UsbHcFreeMem (Ehc->MemPool, Ehc->PeriodOne, sizeof (EHC_QH));\r
     Ehc->PeriodOne = NULL;\r
@@ -240,6 +238,11 @@ ErrorExit:
     UsbHcFreeMem (Ehc->MemPool, Ehc->ShortReadStop, sizeof (EHC_QTD));\r
     Ehc->ShortReadStop = NULL;\r
   }\r
+\r
+ErrorExit1:\r
+  PciIo->FreeBuffer (PciIo, Pages, Buf);\r
+  PciIo->Unmap (PciIo, Map);\r
+\r
   return Status;\r
 }\r
 \r