diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c index 3def91eecaad9efe85a67497d53edb3b43b85972..aa45e43e0ca9bc97e403dfced247b739ea396c41 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c @@ -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)))