summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Chen <peter.chen@freescale.com>2012-01-11 11:27:45 +0800
committerPeter Chen <peter.chen@freescale.com>2012-01-11 14:01:35 +0800
commitee0f2e8d786a25b3ff9da94f787eefd549adb07d (patch)
tree213e07607b9e6c71e016a2f6fc45a74bf0839a8a
parentdfb31bca57dfd8cf535531ed7d28812bf3fcf1a2 (diff)
ENGR00171544 usb-core: usb host will be broken after system pm test
At i.mx6q sabrelite, there is a usb hub on board. After several suspend suspend/resume iterations, the usb host will be broken. It is IC limitation, and similar with: 574b9641d5846e58273dac6bf80fcf1ff312c5c9 Signed-off-by: Peter Chen <peter.chen@freescale.com> Signed-off-by: make shi <b15407@freescale.com>
-rw-r--r--drivers/usb/host/ehci-hub.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/usb/host/ehci-hub.c b/drivers/usb/host/ehci-hub.c
index 69b7a31612aa..e5cac23474dc 100644
--- a/drivers/usb/host/ehci-hub.c
+++ b/drivers/usb/host/ehci-hub.c
@@ -797,6 +797,15 @@ static int ehci_hub_control (
msleep(5);/* wait to leave low-power mode */
spin_lock_irqsave(&ehci->lock, flags);
}
+ #ifdef MX6_USB_HOST_HACK
+ {
+ struct fsl_usb2_platform_data *pdata;
+ pdata = hcd->self.controller->platform_data;
+ if (pdata->platform_resume)
+ pdata->platform_resume(pdata);
+ }
+ #endif
+
/* resume signaling for 20 msec */
temp &= ~(PORT_RWC_BITS | PORT_WAKE_BITS);
ehci_writel(ehci, temp | PORT_RESUME, status_reg);