diff options
author | rsun3 <rsun3@6f19259b-4bc3-4df7-8a09-765794883524> | 2010-03-03 09:40:16 +0000 |
---|---|---|
committer | rsun3 <rsun3@6f19259b-4bc3-4df7-8a09-765794883524> | 2010-03-03 09:40:16 +0000 |
commit | 60cf9cfc146a3b157164d9d2bfbc26d3aaa80179 (patch) | |
tree | f62cb8eb9f939a8c5de4d8177df0a278d5349fe9 /MdeModulePkg/Bus | |
parent | 9dbad162da3c898f06a93a45c3ae6428819c0a89 (diff) | |
download | edk2-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.c | 11 |
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;
}
|