usb: hub: usb_ext_cap_descriptor.bmAttributes is le32
authorBjørn Mork <bjorn@mork.no>
Thu, 27 Feb 2014 13:23:55 +0000 (14:23 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 1 Mar 2014 00:20:17 +0000 (16:20 -0800)
Better check the correct bit on big endian systems too. Shuts
up the following sparse __CHECK_ENDIAN__ warning:

  .../hub.c:3965:32: warning: restricted __le32 degrades to integer

Signed-off-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/core/hub.c

index 69687de..f6c6b6f 100644 (file)
@@ -3962,7 +3962,7 @@ static void hub_set_initial_usb2_lpm_policy(struct usb_device *udev)
        connect_type = usb_get_hub_port_connect_type(udev->parent,
                        udev->portnum);
 
-       if ((udev->bos->ext_cap->bmAttributes & USB_BESL_SUPPORT) ||
+       if ((udev->bos->ext_cap->bmAttributes & cpu_to_le32(USB_BESL_SUPPORT)) ||
                        connect_type == USB_PORT_CONNECT_TYPE_HARD_WIRED) {
                udev->usb2_hw_lpm_allowed = 1;
                usb_set_usb2_hardware_lpm(udev, 1);