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>
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));
}
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);