On Thu, Mar 27, 2014 at 10:31:33AM +0000, Keerthy V wrote: > Hi, > > I am trying to send data to a USB device connected to a USB3.0 port over a USB bulk end point using libusb APIs . It is failing failed with error ERROR_IO. > > The same device and the test program works fine on a USB2.0 port. > > After enabling the XHCI debug options, I found that I am getting the following errors: > "Endpoint xxx not halted, refusing to reset Transfer error on endpoint" Your userspace program is unconditionally sending a ClearHalt request when the endpoint is not stalled. That triggers a known bug in the xHCI driver, where the host controller's toggle bits and the device's toggle bits get out of sync. This then causes endless transfer errors when the host tries to communicate with that endpoint. The only way to fix this is to unplug and replug in the device. Mathias (xHCI maintainer) has plans to implement a fix for this, but it will probably not land until 3.16 or later. I suggest you remove any unconditional ClearHalt requests from your userspace program in the mean time. Sarah Sharp > I have tested in following kernel : > 3.13.7 > 3.11.0-18 > > Both gave the same results. The test has been performed on USB 3.0 host controller. > > Can you please let me know the root cause and possible solutions? > > Attached is the debug log. > > Regards, > Keerthy > This message and any attachments may contain Cypress (or its subsidiaries) confidential information. If it has been received in error, please advise the sender and immediately delete this message. > -- > 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 -- 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