summaryrefslogtreecommitdiff
path: root/drivers/usb/chipidea/otg.c
diff options
context:
space:
mode:
authorguoyin.chen <guoyin.chen@freescale.com>2014-04-30 13:36:17 +0800
committerguoyin.chen <guoyin.chen@freescale.com>2014-04-30 13:36:17 +0800
commite7fdbbc7236c7c884cac0ea1fa14bca3d0990c94 (patch)
treeeab0dc4733ecd4200655ad62f831623da88dd4d7 /drivers/usb/chipidea/otg.c
parentc4bb6b95be0a385d39fef45d577d5969c077feeb (diff)
parent8614fc820d62cc2c84eea8d2fdd3157805fdb1c5 (diff)
Merge remote-tracking branch 'fsl-linux-sdk/imx_3.10.31_1.1.0_alpha' into imx_3.10.y_androidkk4.4.2_2.0.0-alpha
Diffstat (limited to 'drivers/usb/chipidea/otg.c')
-rw-r--r--drivers/usb/chipidea/otg.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/usb/chipidea/otg.c b/drivers/usb/chipidea/otg.c
index fb8a1fe6ead3..70ac5c4028af 100644
--- a/drivers/usb/chipidea/otg.c
+++ b/drivers/usb/chipidea/otg.c
@@ -100,8 +100,11 @@ static void ci_handle_id_switch(struct ci_hdrc *ci)
if ((ci->role == CI_ROLE_HOST) && ci->hcd) {
roothub = ci->hcd->self.root_hub;
for (i = 0; i < roothub->maxchild; ++i) {
- while (usb_hub_find_child(roothub, (i + 1)))
- usleep_range(500, 1000);
+ while (usb_hub_find_child(roothub, (i + 1))) {
+ enable_irq(ci->irq);
+ usleep_range(10000, 15000);
+ disable_irq_nosync(ci->irq);
+ }
}
}