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.

Signed-off-by: Felipe Balbi <ba...@ti.com>
---
 drivers/usb/musb/musb_core.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c
index 988ccdb542ca..c086b96d9e73 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);
-- 
2.3.0

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to