Re: Linux xHCI driver problems (reset ep)

2012-10-17 Thread Yuliya T
Hi Alan and Sarah, I confirmed that simply calling usb_set_altinterface (which via libusb calls the kernel function usb_set_interface) does correctly clear the toggle bits for USB2 or sequence number for USB3 on an XHCI host controller, even when the alternate interface setting is the same as the

Re: Linux xHCI driver problems (URB cancellation)

2012-10-17 Thread Yuliya T
Hi Sarah, Were you able to look into this more? Of the few problems that I've encountered and reported thus far, this one seems the most critical. Please also note that I see this URB cancellation problem even on the Intel host controller (not just the ASMedia one for which I have kernel

Re: Linux xHCI driver problems (reset ep)

2012-10-15 Thread Sarah Sharp
On Sat, Oct 13, 2012 at 12:18:57PM -0400, Alan Stern wrote: On Fri, 12 Oct 2012, Yuliya T wrote: Hi Alan, Thank you for the suggestion. We independently ended up with the same workaround, but still weren't happy with it. The problem is we don't want to relinquish access to the

Re: Linux xHCI driver problems (reset ep)

2012-10-15 Thread Alan Stern
On Mon, 15 Oct 2012, Sarah Sharp wrote: I double checked, and calling usb_set_interface for the same alternate setting that is currently installed will cause the xHCI driver to drop and re-add the current endpoints. This should cause the toggle to be reset for the endpoints. I suppose the

Re: Linux xHCI driver problems (reset ep)

2012-10-13 Thread Alan Stern
On Fri, 12 Oct 2012, Yuliya T wrote: Hi Alan, Thank you for the suggestion. We independently ended up with the same workaround, but still weren't happy with it. The problem is we don't want to relinquish access to the device, but to do set-interface, you have to do release interface,

Re: Linux xHCI driver problems (reset ep)

2012-10-03 Thread Alan Stern
On Tue, 2 Oct 2012, Yuliya T wrote: Our device goes through a software-directed firmware reset which clears the device-side toggle bits (or sequence numbers). The endpoint is not halted though. Therefore, we want a clean way to reset the toggle bits (or sequence numbers) on the host without

Re: Linux xHCI driver problems (reset ep)

2012-10-02 Thread Yuliya T
Hi Sarah, 2. Clear Halt of EP Also note that the xHCI hardware will only allow the Reset Endpoint to complete if the endpoint was actually halted due to a stall, babble, transfer error, etc. It won't reset the endpoint toggles or sequence number at arbitrary points, so we can't reset the

Linux xHCI driver problems

2012-09-24 Thread Yuliya T
Dear Sarah, We noticed a couple of problems with the Linux xHCI driver: 1. There is a problem with URB cancellation for USB 2.0 device on USB 3.0 host. When we disable our device, we cancel all pending URBs by calling ioctl with the request code of USBDEVFS_DISCARDURB. When we re-enable our

Re: Linux xHCI driver problems

2012-09-24 Thread Sarah Sharp
On Mon, Sep 24, 2012 at 02:38:05PM -0700, Yuliya T wrote: Dear Sarah, We noticed a couple of problems with the Linux xHCI driver: 1. There is a problem with URB cancellation for USB 2.0 device on USB 3.0 host. When we disable our device, we cancel all pending URBs by calling ioctl with the