summaryrefslogtreecommitdiff
path: root/drivers/usb/host
diff options
context:
space:
mode:
authorPeter Chen <peter.chen@freescale.com>2012-01-11 11:27:45 +0800
committerJason Liu <r64343@freescale.com>2012-01-19 12:41:27 +0800
commitc35d693524d9850f7e203f56de82afd883c9ae36 (patch)
treeb497fde41e6c0af518ead796ed3ce9ab58220798 /drivers/usb/host
parentb4c2d7c93336613b7f903251b0f358a5950e7e7c (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>
Diffstat (limited to 'drivers/usb/host')
-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 4f3688bfea35..d6a80d9731a2 100644
--- a/drivers/usb/host/ehci-hub.c
+++ b/drivers/usb/host/ehci-hub.c
@@ -826,6 +826,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);