Re: USB autosuspend vs. URB submission

From: Laurent Pinchart
Date: Wed Jan 09 2013 - 18:04:00 EST


Hi Josh,

On Tuesday 08 January 2013 11:03:22 Josh Boyer wrote:
> On Tue, Jan 08, 2013 at 10:51:20AM -0500, Alan Stern wrote:
> > On Mon, 7 Jan 2013, Josh Boyer wrote:
> > > Hi,
> > >
> > > We've had a few reports in Fedora of users hitting the WARN_ONCE in
> > > drivers/usb/core/urb.c that prints a warning about a usb_submit_urb
> > > being called on an active URB. One of them[1] is from the ums_realtek
> > > driver and the other[2] is from the uvcvideo driver. However, I noticed
> > > that in both instances it seems the devices were coming back from what I
> > > think is autosuspend.
> > >
> > > I didn't immediately find any similar reports, and to my rather
> > > inexperienced eyes the drivers didn't seem to be doing anything clearly
> > > wrong. I'm wondering if anyone has some possible ideas for debugging
> > > and whether or not this might be a general issue?
> >
> > I don't see anything wrong either.
> >
> > Can you ask the users to collect a usbmon trace covering the period
> > when the problem occurs?
>
> I'll certainly ask. I'm not particularly hopeful for great results though,
> as the problems seem to be rather intermittent.
>
> Thanks for taking a look.

I've never heard of such problems with the uvcvideo driver, and I don't see
anything wrong with the code at first sight. The driver only submits URBs when
starting the video capture (at that point no URB should be in flight) or in
the URB completion handler (by definition the URB has completed then).

I've had a quick look at the trace posted at
https://bugzilla.redhat.com/show_bug.cgi?id=879462 but usbmon only shows URBs
that are successfully submitted. I'm not sure what useful information I could
get from the trace.

--
Regards,

Laurent Pinchart

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/