summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/usb/musb/musb_core.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c
index ecf2219..3916e73 100644
--- a/drivers/usb/musb/musb_core.c
+++ b/drivers/usb/musb/musb_core.c
@@ -507,7 +507,6 @@ void musb_hnp_stop(struct musb *musb)
musb->port1_status &= ~(USB_PORT_STAT_C_CONNECTION << 16);
}
-static void musb_disable_interrupts(struct musb *musb);
static void musb_recover_from_babble(struct musb *musb);
/*
@@ -883,10 +882,8 @@ b_host:
if (power & MUSB_POWER_HSMODE) {
dev_err(musb->controller, "Babble\n");
- if (is_host_active(musb)) {
- musb_disable_interrupts(musb);
+ if (is_host_active(musb))
musb_recover_from_babble(musb);
- }
}
} else {
dev_dbg(musb->controller, "BUS RESET as %s\n",
@@ -1835,6 +1832,8 @@ static void musb_recover_from_babble(struct musb *musb)
int ret;
u8 devctl;
+ musb_disable_interrupts(musb);
+
/*
* wait at least 320 cycles of 60MHz clock. That's 5.3us, we will give
* it some slack and wait for 10us.