diff options
-rw-r--r-- | MdeModulePkg/Bus/Pci/EhciDxe/Ehci.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/MdeModulePkg/Bus/Pci/EhciDxe/Ehci.c b/MdeModulePkg/Bus/Pci/EhciDxe/Ehci.c index 87e4aa079b..852a15adcb 100644 --- a/MdeModulePkg/Bus/Pci/EhciDxe/Ehci.c +++ b/MdeModulePkg/Bus/Pci/EhciDxe/Ehci.c @@ -1438,6 +1438,14 @@ EhcCreateUsb2Hc ( DEBUG ((EFI_D_INFO, "EhcCreateUsb2Hc: capability length %d\n", Ehc->CapLen));
//
+ // EHCI Controllers with a CapLen of 0 are ignored.
+ //
+ if (Ehc->CapLen == 0) {
+ gBS->FreePool (Ehc);
+ return NULL;
+ }
+
+ //
// Create AsyncRequest Polling Timer
//
Status = gBS->CreateEvent (
|