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 device, but to do set-interface, you > > have to do release interface, > > No, you don't. It's the other way around: You have to _claim_ the > interface before doing a Set-Interface call (although if you haven't > claimed the interface already, the Set-Intf call will claim it for you > automatically). > > Maybe you're thinking of Set-Configuration. For that one you _do_ need > to release all the interfaces. 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 xHCI driver could do the same thing internally: if usb_reset_endpoint() is called with an endpoint that isn't halted, we could issue a Configure Endpoint command to drop and re-add the endpoint. But we would need to make sure the bandwidth mutex is held, and I would have to look at whether it would be safe to add mutex locking calls in usb_hcd_reset_endpoint(). Sarah Sharp -- 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