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 <wulf@xxxxxxxxxxxxxx>) 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 <stern@xxxxxxxxxxxxxxxxxxx> > > CC: Minas Harutyunyan <Minas.Harutyunyan@xxxxxxxxxxxx> > > Reported-and-tested-by: wlf <wulf@xxxxxxxxxxxxxx> > > CC: <stable@xxxxxxxxxxxxxxx> 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html