diff options
author | Peter Chen <peter.chen@freescale.com> | 2012-01-11 11:27:45 +0800 |
---|---|---|
committer | Peter Chen <peter.chen@freescale.com> | 2012-01-11 14:01:35 +0800 |
commit | ee0f2e8d786a25b3ff9da94f787eefd549adb07d (patch) | |
tree | 213e07607b9e6c71e016a2f6fc45a74bf0839a8a | |
parent | dfb31bca57dfd8cf535531ed7d28812bf3fcf1a2 (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.c | 9 |
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); |