\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
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
UsbIoPortReset\r
};\r
\r
-//@MT: EFI_DRIVER_ENTRY_POINT (UsbBusDriverEntryPoint)\r
\r
EFI_STATUS\r
EFIAPI\r