|
@@ -1543,8 +1543,12 @@ static void isp1362_hub_descriptor(struct isp1362_hcd *isp1362_hcd,
|
|
|
desc->bHubContrCurrent = 0;
|
|
|
desc->bNbrPorts = reg & 0x3;
|
|
|
/* Power switching, device type, overcurrent. */
|
|
|
- desc->wHubCharacteristics = cpu_to_le16((reg >> 8) & 0x1f);
|
|
|
- DBG(0, "%s: hubcharacteristics = %02x\n", __func__, cpu_to_le16((reg >> 8) & 0x1f));
|
|
|
+ desc->wHubCharacteristics = cpu_to_le16((reg >> 8) &
|
|
|
+ (HUB_CHAR_LPSM |
|
|
|
+ HUB_CHAR_COMPOUND |
|
|
|
+ HUB_CHAR_OCPM));
|
|
|
+ DBG(0, "%s: hubcharacteristics = %02x\n", __func__,
|
|
|
+ desc->wHubCharacteristics);
|
|
|
desc->bPwrOn2PwrGood = (reg >> 24) & 0xff;
|
|
|
/* ports removable, and legacy PortPwrCtrlMask */
|
|
|
desc->u.hs.DeviceRemovable[0] = desc->bNbrPorts == 1 ? 1 << 1 : 3 << 1;
|