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>
This commit is contained in:
Felipe Balbi 2015-02-26 11:31:49 -06:00
parent e1eb3eb8b0
commit ba7ee8bb31

View file

@ -884,7 +884,7 @@ static irqreturn_t musb_stage0_irq(struct musb *musb, u8 int_usb,
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);