summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Szyprowski <m.szyprowski@samsung.com>2017-02-07 14:54:33 +0100
committerMarek Szyprowski <m.szyprowski@samsung.com>2017-02-07 14:55:06 +0100
commitdc463ecea9d0532e8c3074c54136f2a8168aa2ce (patch)
tree9a03803ab90152ba10f0f2947be2807753fb7894
parent829afdc3b39237e160cac2df650af3e6823edeed (diff)
downloadlinux-exynos-dc463ecea9d0532e8c3074c54136f2a8168aa2ce.tar.gz
linux-exynos-dc463ecea9d0532e8c3074c54136f2a8168aa2ce.tar.bz2
linux-exynos-dc463ecea9d0532e8c3074c54136f2a8168aa2ce.zip
After a rebase onto 4.1.36 xHCI ports on OdroidXU4 stopped working. This has been caused by commit e951f84074b84a3f5aecbffd01da74576e0068d5 applied in mainline. This patch reverts it to get xHCI ports working again. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Change-Id: I86feaf60472efaf6c045b4f1ecb28f9ab936a01f
-rw-r--r--drivers/usb/core/hcd.c7
-rw-r--r--drivers/usb/core/hub.c2
-rw-r--r--drivers/usb/core/usb.h1
3 files changed, 3 insertions, 7 deletions
diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c
index 3a49ba2910df..04a96309bffb 100644
--- a/drivers/usb/core/hcd.c
+++ b/drivers/usb/core/hcd.c
@@ -1022,12 +1022,9 @@ static int register_root_hub(struct usb_hcd *hcd)
dev_name(&usb_dev->dev), retval);
return (retval < 0) ? retval : -EMSGSIZE;
}
-
- if (le16_to_cpu(usb_dev->descriptor.bcdUSB) >= 0x0201) {
+ if (usb_dev->speed == USB_SPEED_SUPER) {
retval = usb_get_bos_descriptor(usb_dev);
- if (!retval) {
- usb_dev->lpm_capable = usb_device_supports_lpm(usb_dev);
- } else if (usb_dev->speed == USB_SPEED_SUPER) {
+ if (retval < 0) {
mutex_unlock(&usb_bus_list_lock);
dev_dbg(parent_dev, "can't read %s bos descriptor %d\n",
dev_name(&usb_dev->dev), retval);
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
index c98f78b0bf11..ab49999fb2f6 100644
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -122,7 +122,7 @@ struct usb_hub *usb_hub_to_struct_hub(struct usb_device *hdev)
return usb_get_intfdata(hdev->actconfig->interface[0]);
}
-int usb_device_supports_lpm(struct usb_device *udev)
+static int usb_device_supports_lpm(struct usb_device *udev)
{
/* Some devices have trouble with LPM */
if (udev->quirks & USB_QUIRK_NO_LPM)
diff --git a/drivers/usb/core/usb.h b/drivers/usb/core/usb.h
index 457255a3306a..7eb1e26798e5 100644
--- a/drivers/usb/core/usb.h
+++ b/drivers/usb/core/usb.h
@@ -65,7 +65,6 @@ extern int usb_hub_init(void);
extern void usb_hub_cleanup(void);
extern int usb_major_init(void);
extern void usb_major_cleanup(void);
-extern int usb_device_supports_lpm(struct usb_device *udev);
#ifdef CONFIG_PM