usb: add little-endian transform for DeviceRemovable of usb3.0 hub
authorLan Tianyu <tianyu.lan@intel.com>
Mon, 10 Sep 2012 20:22:36 +0000 (04:22 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 10 Sep 2012 22:27:37 +0000 (15:27 -0700)
Signed-off-by: Lan Tianyu <tianyu.lan@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/core/hub.c

index 3def91eecaad9efe85a67497d53edb3b43b85972..aa45e43e0ca9bc97e403dfced247b739ea396c41 100644 (file)
@@ -2190,7 +2190,8 @@ static void set_usb_port_removable(struct usb_device *udev)
                return;
 
        if (hub_is_superspeed(hdev)) {
-               if (hub->descriptor->u.ss.DeviceRemovable & (1 << port))
+               if (le16_to_cpu(hub->descriptor->u.ss.DeviceRemovable)
+                               & (1 << port))
                        removable = false;
        } else {
                if (hub->descriptor->u.hs.DeviceRemovable[port / 8] & (1 << (port % 8)))