diff options
author | Felipe Balbi <balbi@ti.com> | 2015-02-26 11:31:49 -0600 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2015-03-10 15:33:28 -0500 |
commit | ba7ee8bb313c4a55066c4da30292aeb9abac82d8 (patch) | |
tree | 994a835107ef9b4efc5c7a97bb4a1c3d457b8608 /drivers/usb/musb | |
parent | e1eb3eb8b02c5be35ea1fedccc6c9c6d2c9b0165 (diff) | |
download | op-kernel-dev-ba7ee8bb313c4a55066c4da30292aeb9abac82d8.zip op-kernel-dev-ba7ee8bb313c4a55066c4da30292aeb9abac82d8.tar.gz |
usb: musb: don't touch devctl from babble recovery
We do *not* want to touch devctl at all when
trying to recover from babble. All we want to
do is mask IRQs until we're done without our
babble recovery, at which point we will unmask
IRQs.
Tested-by: Bin Liu <b-liu@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/musb')
-rw-r--r-- | drivers/usb/musb/musb_core.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c index 8ae2426..a4e524c 100644 --- a/drivers/usb/musb/musb_core.c +++ b/drivers/usb/musb/musb_core.c @@ -884,7 +884,7 @@ b_host: dev_err(musb->controller, "Babble\n"); if (is_host_active(musb)) { - musb_generic_disable(musb); + musb_disable_interrupts(musb); schedule_delayed_work(&musb->recover_work, msecs_to_jiffies(100)); } @@ -1838,8 +1838,10 @@ static void musb_recover_work(struct work_struct *data) int status, ret; ret = musb_platform_reset(musb); - if (ret) + if (ret) { + musb_enable_interrupts(musb); return; + } usb_phy_vbus_off(musb->xceiv); usleep_range(100, 200); |