Hi Stefan, On Wed, Jan 5, 2022 at 3:48 AM Stefan Agner <ste...@agner.ch> wrote: > > 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 :) >
Sorry I missed this. I suspect it's too late for 2022.01 to include such big changes :( Regards, Bin