* Tony Lindgren <tony@xxxxxxxxxxx> [170511 13:26]: > diff --git a/drivers/usb/musb/musb_dsps.c b/drivers/usb/musb/musb_dsps.c > --- a/drivers/usb/musb/musb_dsps.c > +++ b/drivers/usb/musb/musb_dsps.c > @@ -270,6 +270,10 @@ static int dsps_check_status(struct musb *musb, void *unused) > musb_writel(musb->ctrl_base, wrp->coreintr_set, > MUSB_INTR_VBUSERROR << wrp->usb_shift); > break; > + case OTG_STATE_A_HOST: > + if (glue->vbus_irq) > + dsps_mod_timer(glue, 20000); /* 20s */ > + break; > default: > break; > } > -- Heh that's the wrong way around.. I think we can leave out the check for vbus_irq. 8< --------------- diff --git a/drivers/usb/musb/musb_dsps.c b/drivers/usb/musb/musb_dsps.c --- a/drivers/usb/musb/musb_dsps.c +++ b/drivers/usb/musb/musb_dsps.c @@ -270,6 +270,10 @@ static int dsps_check_status(struct musb *musb, void *unused) musb_writel(musb->ctrl_base, wrp->coreintr_set, MUSB_INTR_VBUSERROR << wrp->usb_shift); break; + case OTG_STATE_A_HOST: + /* Keep VBUS on after disconnect for 20 seconds */ + dsps_mod_timer(glue, 20000); + break; default: break; } -- 2.13.0 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html