summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJingchang Lu <b35083@freescale.com>2012-08-08 16:37:18 +0800
committerJustin Waters <justin.waters@timesys.com>2012-09-12 16:50:06 -0400
commit8b207089bcbf20474355e29395e5631f96886c66 (patch)
tree3201f5d5d7ad5ad147f58d343dfb58870d64c65f
parentf4400c213ae4736e965cf86a33dc1c69f8cbb8c6 (diff)
ENGR00219771: Fix high-speed usb hub connection detection failure for Faraday
Only disable the high-speed device disconnection detction for level-1 device, or the connection detecting would fail. Signed-off-by: Jingchang Lu <b35083@freescale.com>
-rw-r--r--drivers/usb/core/hub.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
index 6ce6dd7b944b..694476ea22ac 100644
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -1668,7 +1668,7 @@ void usb_disconnect(struct usb_device **pdev)
dev_info(&udev->dev, "USB disconnect, device number %d\n",
udev->devnum);
#ifdef MVF_USB_HOST_HACK
- if (udev->speed == USB_SPEED_HIGH)
+ if (udev->speed == USB_SPEED_HIGH && udev->level == 1)
fsl_platform_set_usb_phy_dis(NULL, 0);
#endif
usb_lock_device(udev);
@@ -2916,7 +2916,7 @@ hub_port_init (struct usb_hub *hub, struct usb_device *udev, int port1,
udev->ttport = port1;
}
#ifdef MVF_USB_HOST_HACK
- if (udev->speed == USB_SPEED_HIGH)
+ if (udev->speed == USB_SPEED_HIGH && udev->level == 1)
fsl_platform_set_usb_phy_dis(NULL, 1);
#endif
/* Why interleave GET_DESCRIPTOR and SET_ADDRESS this way?