Hello! On Tue, Oct 27, 2020 at 08:17:41AM +0200, Tony Lindgren wrote: > Hmm maybe we're just missing the check for suspend here. Maybe > give the following untested patch a try? > > I'll give it a try here too but it might be few days. Thanks for quick patch! I tested this on my device and I can confirm that it fixes issue for me. So from my side, Tested-by: Bhushan Shah <bshah@xxxxxxx> Thanks! > Seems like we might be able to eventually simplify the suspend and > quirk check stuff, but let's fix the $subject issue first. > > Regards, > > Tony > > 8< ---------------------- > diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c > --- a/drivers/usb/musb/musb_core.c > +++ b/drivers/usb/musb/musb_core.c > @@ -2005,10 +2005,14 @@ static void musb_pm_runtime_check_session(struct musb *musb) > MUSB_DEVCTL_HR; > switch (devctl & ~s) { > case MUSB_QUIRK_B_DISCONNECT_99: > - musb_dbg(musb, "Poll devctl in case of suspend after disconnect\n"); > - schedule_delayed_work(&musb->irq_work, > - msecs_to_jiffies(1000)); > - break; > + if (musb->quirk_retries && !musb->flush_irq_work) { > + musb_dbg(musb, "Poll devctl in case of suspend after disconnect\n"); > + schedule_delayed_work(&musb->irq_work, > + msecs_to_jiffies(1000)); > + musb->quirk_retries--; > + break; > + } > + /* fall through */ > case MUSB_QUIRK_B_INVALID_VBUS_91: > if (musb->quirk_retries && !musb->flush_irq_work) { > musb_dbg(musb, -- Bhushan Shah http://blog.bshah.in IRC Nick : bshah on Freenode GPG key fingerprint : 0AAC 775B B643 7A8D 9AF7 A3AC FE07 8411 7FBC E11D
Attachment:
signature.asc
Description: PGP signature