isp116x-hcd: use HUB_CHAR_*
authorSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Sun, 18 Jan 2015 22:33:26 +0000 (01:33 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 25 Jan 2015 13:01:12 +0000 (21:01 +0800)
Fix  using the  bare number  to set the 'wHubCharacteristics' field of the Hub
Descriptor while the values are #define'd in <linux/usb/ch11.h>.

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/isp116x-hcd.c

index 31c9c4d0fa0b71eb78bc9d3813973f124162ecbe..113d0cc6cc43d00707b985b227f232fd043f13e7 100644 (file)
@@ -948,7 +948,10 @@ static void isp116x_hub_descriptor(struct isp116x *isp116x,
        desc->bHubContrCurrent = 0;
        desc->bNbrPorts = (u8) (reg & 0x3);
        /* Power switching, device type, overcurrent. */
-       desc->wHubCharacteristics = cpu_to_le16((u16) ((reg >> 8) & 0x1f));
+       desc->wHubCharacteristics = cpu_to_le16((u16) ((reg >> 8) &
+                                                      (HUB_CHAR_LPSM |
+                                                       HUB_CHAR_COMPOUND |
+                                                       HUB_CHAR_OCPM)));
        desc->bPwrOn2PwrGood = (u8) ((reg >> 24) & 0xff);
        /* ports removable, and legacy PortPwrCtrlMask */
        desc->u.hs.DeviceRemovable[0] = 0;