From: Felipe Balbi Date: Thu, 26 Feb 2015 17:31:49 +0000 (-0600) Subject: usb: musb: don't touch devctl from babble recovery X-Git-Tag: v4.14-rc1~5618^2~4^2~102 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ba7ee8bb313c4a55066c4da30292aeb9abac82d8;p=platform%2Fkernel%2Flinux-rpi.git 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 Signed-off-by: Felipe Balbi --- 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);