commit: http://blackfin.uclinux.org/git/?p=linux-kernel;a=commitdiff;h=a19f2c82b377a648f37b79ed7a8820493d252448
branch: http://blackfin.uclinux.org/git/?p=linux-kernel;a=shortlog;h=refs/heads/trunk

USB host device can't be recognized after unplug.
This patch fix it by reinit vbus register and state.

Signed-off-by: Bob Liu <[email protected]>
---
 drivers/usb/musb/blackfin.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/drivers/usb/musb/blackfin.c b/drivers/usb/musb/blackfin.c
index 1e0951b..2a5a796 100644
--- a/drivers/usb/musb/blackfin.c
+++ b/drivers/usb/musb/blackfin.c
@@ -192,7 +192,12 @@ static irqreturn_t blackfin_interrupt(int irq, void *__hci)
 		mod_timer(&musb_conn_timer, jiffies + TIMER_DELAY);
 		musb->a_wait_bcon = TIMER_DELAY;
 	}
-
+#ifdef CONFIG_BF60x
+	if (musb->int_usb & MUSB_INTR_DISCONNECT && is_host_active(musb)) {
+		musb->xceiv->state = OTG_STATE_B_IDLE;
+		bfin_write_USB_VBUS_CTL(0x00);
+	}
+#endif
 	spin_unlock_irqrestore(&musb->lock, flags);
 
 	return retval;
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits

Reply via email to