Re: MUSB/OMAP: gadget does not start when cable is plugged after the driver is started

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Tue, Apr 08, 2014 at 09:24:09AM +0200, Stefan Roese wrote:
> On 07.04.2014 18:04, Felipe Balbi wrote:
> 
> <snip>
> 
> > that's not caused by my patch, it's a previously existing bug. This
> > should sort it out:
> > 
> > commit e7f69404a878b5345ad07bf06d78559ecd31db79
> > Author: Felipe Balbi <balbi@xxxxxx>
> > Date:   Mon Apr 7 10:58:01 2014 -0500
> > 
> >      usb: musb: omap2430: make sure clocks are enabled when running mailbox
> >      
> >      on early initialization we could fall into
> >      a situation where the mailbox is called before
> >      MUSB's clocks are running, in order to avoid
> >      that, make sure mailbox is always wrapped with
> >      pm_runtime calls.
> >      
> >      Reported-by: Stefan Roese <sr@xxxxxxx>
> >      Signed-off-by: Felipe Balbi <balbi@xxxxxx>
> > 
> > diff --git a/drivers/usb/musb/omap2430.c b/drivers/usb/musb/omap2430.c
> > index 819a7cd..d369bf1 100644
> > --- a/drivers/usb/musb/omap2430.c
> > +++ b/drivers/usb/musb/omap2430.c
> > @@ -316,7 +316,13 @@ static void omap_musb_mailbox_work(struct work_struct *mailbox_work)
> >   {
> >   	struct omap2430_glue *glue = container_of(mailbox_work,
> >   				struct omap2430_glue, omap_musb_mailbox_work);
> > +	struct musb *musb = glue_to_musb(glue);
> > +	struct device *dev = musb->controller;
> > +
> > +	pm_runtime_get_sync(dev);
> >   	omap_musb_set_mailbox(glue);
> > +	pm_runtime_mark_last_busy(dev);
> > +	pm_runtime_put_autosuspend(dev);
> >   }
> >   
> >   static irqreturn_t omap2430_musb_interrupt(int irq, void *__hci)
> > 
> > let me know
> 
> The crash doesn't appear anymore with this patch. But the ethernet
> gadget is not started. This happens also with a plugged cable upon
> driver startup. Now I see an error in the log:
> 
> [    2.793121] musb-hdrc musb-hdrc.0.auto: VBUS_ERROR in b_idle (80, <SessEnd), retry #0, port1 00000100

that shouldn't happen... Can you add some extra debugging prints and try
to figure out what's going on ?

-- 
balbi

Attachment: signature.asc
Description: Digital signature


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux