Hi On 26.04.2016 12:23, Julien D'ascenzio wrote:
Hi, I see you make this patch in the kernel mainline: xhci: Clear the ho27082e2654dc148078b0abdfc3c8e5ccbde0ebfa: st side: toggle manually when endpoint is 'soft reset' then you revert it: d0167ad2954ee2d1c70704c454c646086b6653d6: Revert "xhci: Clear the host side toggle manually when endpoint is 'soft reset'" This patch correct a problem I have with a camera (IDS US3 uEye CP). I think, it's a similar problem as: http://www.spinics.net/lists/linux-usb/msg132221.html Sometime, This error appear when I transfer a raw video with my camera : xhci-hcd xhci-hcd.6.auto: URB transfer length is wrong, xHC issue? req. len = 0, act. len = 4294967288 After that, the camera doesn't work and I must physically disconnect it You find attached to this email the usb camera trace (wireshark) when this error occurs. The transfer seems to start in packet number 21 (URB_CONTROL). The error seems to occur after packet number 694 when a "CLEAR FEATURE" is request. I'd like to know if you still work to a new patch to correct this? I could help you to make some test with my hardware. Best regards Julien D'Ascenzio
I haven't been looking at this for a long time, so with the "xhci: Clear the host side toggle manually when endpoint is soft reset" patch everything works? Some additional questions. Are you using uvc or some custom usbfs with libusb implementation? If libusb is used, is there some extra libusb_clear_halt() used as a "soft reset" instead of actually clearing a halted endpoint? If the device endpoint is not actually halted then the clear halt request will clear the data toggle for the connected device, but the host will continue using the old toggle. -> out of sync. If endpoint is really halted then host will reset the host side endpoint together with a clear halt request to the device, and both toggles will be cleared. -Mathias -- 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