summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Bus
diff options
context:
space:
mode:
authorrsun3 <rsun3@6f19259b-4bc3-4df7-8a09-765794883524>2010-03-03 09:40:16 +0000
committerrsun3 <rsun3@6f19259b-4bc3-4df7-8a09-765794883524>2010-03-03 09:40:16 +0000
commit60cf9cfc146a3b157164d9d2bfbc26d3aaa80179 (patch)
treef62cb8eb9f939a8c5de4d8177df0a278d5349fe9 /MdeModulePkg/Bus
parent9dbad162da3c898f06a93a45c3ae6428819c0a89 (diff)
downloadedk2-platforms-60cf9cfc146a3b157164d9d2bfbc26d3aaa80179.tar.xz
Minor bug fix and robustness check improvement.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10168 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg/Bus')
-rw-r--r--MdeModulePkg/Bus/Pci/EhciDxe/EhciSched.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/MdeModulePkg/Bus/Pci/EhciDxe/EhciSched.c b/MdeModulePkg/Bus/Pci/EhciDxe/EhciSched.c
index 2086206404..d2e53300af 100644
--- a/MdeModulePkg/Bus/Pci/EhciDxe/EhciSched.c
+++ b/MdeModulePkg/Bus/Pci/EhciDxe/EhciSched.c
@@ -182,7 +182,8 @@ EhcInitSched (
);
if (Ehc->MemPool == NULL) {
- goto ErrorExit;
+ Status = EFI_OUT_OF_RESOURCES;
+ goto ErrorExit1;
}
Status = EhcCreateHelpQ (Ehc);
@@ -223,9 +224,6 @@ EhcInitSched (
return EFI_SUCCESS;
ErrorExit:
- PciIo->FreeBuffer (PciIo, Pages, Buf);
- PciIo->Unmap (PciIo, Map);
-
if (Ehc->PeriodOne != NULL) {
UsbHcFreeMem (Ehc->MemPool, Ehc->PeriodOne, sizeof (EHC_QH));
Ehc->PeriodOne = NULL;
@@ -240,6 +238,11 @@ ErrorExit:
UsbHcFreeMem (Ehc->MemPool, Ehc->ShortReadStop, sizeof (EHC_QTD));
Ehc->ShortReadStop = NULL;
}
+
+ErrorExit1:
+ PciIo->FreeBuffer (PciIo, Pages, Buf);
+ PciIo->Unmap (PciIo, Map);
+
return Status;
}