From 8b207089bcbf20474355e29395e5631f96886c66 Mon Sep 17 00:00:00 2001 From: Jingchang Lu Date: Wed, 8 Aug 2012 16:37:18 +0800 Subject: 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 --- drivers/usb/core/hub.c | 4 ++-- 1 file 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? -- cgit v1.2.3