On Thu, 9 Nov 2017, Minas Harutyunyan wrote:

> Hi Alan,
> 
> On 11/8/2017 9:23 PM, Alan Stern wrote:
> > The USB kerneldoc says that the actual_length field "is read in
> > non-iso completion functions", but the usbfs driver uses it for all
> > URB types in processcompl().  Since not all of the host controller
> > drivers set actual_length for isochronous URBs, programs using usbfs
> > with some host controllers don't work properly.  For example, Minas
> > reports that a USB camera controlled by libusb doesn't work properly
> > with a dwc2 controller.
> 
> Issue reported not by me, but by William Wu (wlf <[email protected]>)

My mistake, sorry.  I didn't notice his original email when it first
appeared on the mailing list.

> > It doesn't seem worthwhile to change the HCDs and the documentation,
> > since the in-kernel USB class drivers evidently don't rely on
> > actual_length for isochronous transfers.  The easiest solution is for
> > usbfs to calculate the actual_length value for itself, by adding up
> > the lengths of the individual packets in an isochronous transfer.
> > 
> > Signed-off-by: Alan Stern <[email protected]>
> > CC: Minas Harutyunyan <[email protected]>
> > Reported-and-tested-by: wlf <[email protected]>
> > CC: <[email protected]>

Greg, can you fix up the tags in your trees or is it already too late?

Alan Stern

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

Reply via email to