]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Bus/Usb/UsbBusDxe/usbbus.c
Sync USB modules with main trunk.
[mirror_edk2.git] / MdeModulePkg / Bus / Usb / UsbBusDxe / usbbus.c
index c5a0604fca71da2f99173229bc5927e9f494ac1e..096b10a831181dbb88f135d272dadcd6d7748519 100644 (file)
@@ -645,11 +645,16 @@ UsbIoGetEndpointDescriptor (
 \r
   UsbIf  = USB_INTERFACE_FROM_USBIO (This);\r
 \r
-  if ((Descriptor == NULL) || (Index >= UsbIf->IfSetting->Desc.NumEndpoints)) {\r
+  if ((Descriptor == NULL) || (Index > 15)) {\r
     gBS->RestoreTPL (OldTpl);\r
     return EFI_INVALID_PARAMETER;\r
   }\r
 \r
+  if (Index >= UsbIf->IfSetting->Desc.NumEndpoints) {\r
+    gBS->RestoreTPL (OldTpl);\r
+    return EFI_NOT_FOUND;\r
+  }\r
+\r
   CopyMem (\r
     Descriptor,\r
     &(UsbIf->IfSetting->Endpoints[Index]->Desc),\r
@@ -813,6 +818,11 @@ UsbIoPortReset (
   UsbIf  = USB_INTERFACE_FROM_USBIO (This);\r
   Dev    = UsbIf->Device;\r
 \r
+  if (UsbIf->IsHub == TRUE) {\r
+    Status = EFI_INVALID_PARAMETER;\r
+    goto ON_EXIT;\r
+  }\r
+\r
   HubIf  = Dev->ParentIf;\r
   Status = HubIf->HubApi->ResetPort (HubIf, Dev->ParentPort);\r
 \r
@@ -875,7 +885,6 @@ EFI_USB_IO_PROTOCOL mUsbIoProtocol = {
   UsbIoPortReset\r
 };\r
 \r
-//@MT: EFI_DRIVER_ENTRY_POINT (UsbBusDriverEntryPoint)\r
 \r
 EFI_STATUS\r
 EFIAPI\r