commit: http://blackfin.uclinux.org/git/?p=linux-kernel;a=commitdiff;h=dd21fc107429fcd98e963ca96d7c4faee39337a4 branch: http://blackfin.uclinux.org/git/?p=linux-kernel;a=shortlog;h=refs/heads/2012R2
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 9ee520a..6f816ef 100644 --- a/drivers/usb/musb/blackfin.c +++ b/drivers/usb/musb/blackfin.c @@ -190,7 +190,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
