/* Usb hub control transfer to get the port status. */
EFI_STATUS UsbHubCtrlGetPortStatus(IN USB_DEVICE *HubDev, IN UINT8 Port, OUT VOID *State)
/* Usb hub control transfer to get the port status. */
EFI_STATUS UsbHubCtrlGetPortStatus(IN USB_DEVICE *HubDev, IN UINT8 Port, OUT VOID *State)
{
  EFI_STATUS  Status;
  Status = UsbCtrlRequest (
             HubDev,
             EfiUsbDataIn,
             USB_REQ_TYPE_CLASS,
             USB_HUB_TARGET_PORT,
             USB_HUB_REQ_GET_STATUS,
             0,
             (UINT16)(Port + 1),
             State,
             4
             );
  return Status;
}