]> www.infradead.org Git - users/jedix/linux-maple.git/commit
usb: dwc3: gadget: Reinitiate stream for all host NoStream behavior
authorThinh Nguyen <Thinh.Nguyen@synopsys.com>
Tue, 14 Jan 2025 01:50:38 +0000 (01:50 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 15 Jan 2025 17:29:08 +0000 (18:29 +0100)
commitdcfe437492e27d54f3ac491aed024da760f5c43c
tree1308d3470f5e9b204ac3e2fb98685de80651f801
parentf386bfad038d07fc356df267592f5fd812c8cf3e
usb: dwc3: gadget: Reinitiate stream for all host NoStream behavior

There are too many different host behaviors when it comes to NoStream
handling, and not everyone follows the USB and xHCI spec. The DWC3
driver attempts to do some guess work to interop with different hosts,
but it can't cover everything. Let's keep it simple and treat every host
the same: just retry on NoStream after a 100ms of no response delay.
Note that some hosts cannot handle frequent retries. This may affect
performance on certain defective hosts, but NoStream is a rare
occurrence and interoperability is more important.

Signed-off-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Link: https://lore.kernel.org/r/b92ae94c86f01f165d5f178b7767898573b6dc75.1736819308.git.Thinh.Nguyen@synopsys.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/dwc3/core.h
drivers/usb/dwc3/gadget.c