Re: USB autosuspend vs. URB submission

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

 



On Thu, 10 Jan 2013, Oliver Neukum wrote:

> On Thursday 10 January 2013 00:05:55 Laurent Pinchart wrote:
> 
> > 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.
> 
> The test is at the very start of usb_submit_urb()
> 
>         if (!urb || !urb->complete)
>                 return -EINVAL;
>         if (urb->hcpriv) { 
>                 WARN_ONCE(1, "URB %p submitted while active\n", urb);
>                 return -EBUSY;
>         }
> 
> usbmon will never see such URBs

Not quite -- it will see them the first time they are submitted, when
the submission succeeds.

> I suggest that for debugging you change the WARN_ONCE into a WARN and compare
> the URB pointers of usbmon and dmesg.

Good idea.

> In the long run it is probably a good idea to pass duplicated URBs to usbmon by
> a special code path.

I'd prefer to add extra information to the WARN_ONCE message.  Even 
though it would require the extra effort of correlating the dmesg 
output with the usbmon output.

You know, it's possible that the URB really was not submitted before 
but instead the urb->hcpriv field got overwritten.  Of course, that 
would also be a bug.

Alan Stern

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


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

  Powered by Linux