Re: How should we handle isochronous underruns?

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

 



On Wed, 3 Jul 2013, Laurent Pinchart wrote:

> > Of course, it has been true all along that the status fields in the URB's
> > individual usb_iso_packet_descriptor structures indicate any errors.  But
> > HCDs tend to set urb->status to 0 always, for isochronous URBs.  Is there
> > any advantage to setting urb->status to -EXDEV, given that we already set
> > urb->iso_frame_desc[i].status to -EXDEV for each i?
> 
> Not that I see, for the uvcvideo driver at least.

And probably not for anybody else either.

> > With (2) or (3), the driver could also recover right away by setting
> > the URB_ISO_ASAP flag on its next URB, but then synchronization would
> > be lost.  You wouldn't want to do this if synchronization matters.
> > But if it doesn't, the driver could simply set URB_ISO_ASAP on every
> > URB to avoid worrying about the problem -- the flag would have no
> > effect in the absence of underruns.
> 
> That's what the uvcvideo driver does. This could be changed, but I don't have 
> time to investigate at the moment. (Tested) patches are of course welcome :-)

Based on your earlier comments, it sounds like always using 
URB_ISO_ASAP will do just what uvcvideo wants.

Thanks for your feedback,

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