Bin Meng, On 2021-09-27 17:14, Marek Vasut wrote: > On 9/27/21 2:42 PM, Stefan Agner wrote: >> There are devices which cause a USB stall when trying to read strings. >> Specifically Arduino Mega R3 stalls when trying to read the product >> string. >> >> The stall currently remains unhandled, and subsequent retries submit new >> transfers on a stopped endpoint which ultimately cause a crash in >> abort_td(): >> WARN halted endpoint, queueing URB anyway. >> XHCI control transfer timed out, aborting... >> Unexpected XHCI event TRB, skipping... (3affe040 00000000 13000000 02008401) >> BUG at drivers/usb/host/xhci-ring.c:505/abort_td()! >> BUG! >> resetting ... >> >> Linux seems to be able to recover from the stall by issuing a >> TRB_RESET_EP command. >> >> Introduce reset_ep() which issues a TRB_RESET_EP followed by setting the >> transfer ring dequeue pointer via TRB_SET_DEQ. This allows to properly >> recover from a USB stall error and continue communicating with the USB >> device. >> >> Signed-off-by: Stefan Agner <ste...@agner.ch> > > I hope to get AB/RB from Bin here, then it can go into this release I think.
Any chance you could have a look at this to get it into this release :) -- Stefan