The code handling Get Hub Descriptor request copies data from root_hub_des[], then overwrites byte 3 with real 'wHubCharacteristics' value. There's no need to overwrite, we can substitute the real value right into root_hub_des[3]. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> --- The patch is against the 'usb-next' branch of Greg KH's 'usb.git' repo. drivers/usb/host/fhci-hub.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) Index: usb/drivers/usb/host/fhci-hub.c =================================================================== --- usb.orig/drivers/usb/host/fhci-hub.c +++ usb/drivers/usb/host/fhci-hub.c @@ -32,8 +32,8 @@ static u8 root_hub_des[] = { 0x09, /* blength */ 0x29, /* bDescriptorType;hub-descriptor */ 0x01, /* bNbrPorts */ - 0x00, /* wHubCharacteristics */ - 0x00, + 0x11, /* wHubCharacteristics */ + 0x00, /* per-port power, no overcurrent */ 0x01, /* bPwrOn2pwrGood;2ms */ 0x00, /* bHubContrCurrent;0mA */ 0x00, /* DeviceRemoveable */ @@ -272,7 +272,6 @@ int fhci_hub_control(struct usb_hcd *hcd break; case GetHubDescriptor: memcpy(buf, root_hub_des, sizeof(root_hub_des)); - buf[3] = 0x11; /* per-port power, no ovrcrnt */ len = (buf[0] < wLength) ? buf[0] : wLength; break; case GetHubStatus: -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html