On Mon, 13 Apr 2015, Mathias Nyman wrote: > Another difference between EHCI and xHCI iss that xHCI needs to reset (the host side) > of a control endpoint if it stalled. > > From xHCI 1.0 4.8.3: > > "A STALL detected on any stage (Setup, Data, or Status) of a Default Control Endpoint request > shall transition the Endpoint Context to the Halted state. A Default Control Endpoint STALL > condition is cleared by a Reset Endpoint Command which transitions the endpoint from the Halted > to the Stopped state. The Default Control Endpoint shall return to the Running state when the > Doorbell is rung for the next Setup Stage TD sent to the endpoint. > ection 8.5.3.4 of the USB2 spec and section 8.12.2.3 of the USB3 spec state of Control pipes, > �Unlike the case of a functional stall, protocol stall does not indicate an error with the device.� The > xHC treats a functional stall and protocol stall identically, by Halting the endpoint and requiring > software to clear the condition by issuing a Reset Endpoint Command." That sounds like something the xhci-hcd driver needs to do automatically. Higher-level drivers all assume that a protocol stall does not need to be cleared. 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