On Wed, Dec 09, 2020 at 03:11:14PM +0200, Mathias Nyman wrote: <> > I was testing with Andrzej's script against a g_zero gadget. > I could trigger many similar issues as those he reported, but not this > dequeue issue you see. > > The rewrite resolved all issues I saw. Script was running without issues > over night. (tested against both USB2 and USB3). > > I haven't tried with two devices simultaneously, I could try that. > > Could you share more details about the system you have, what xhci > controller do you have? Sure. I'm running with the following CPU: Intel(R) Xeon(R) Gold 6154 CPU @ 3.00GHz with 72 virtual cores, if that matters. The full output of "lsusb -vvv" can be found here: https://gist.github.com/rzwisler/8c61f10c7a9642cbc6fffe1daadfa8cc And here is the xhci entry in "lspci -vvv": 00:14.0 USB controller: Intel Corporation C620 Series Chipset Family USB 3.0 xHCI Controller (rev 09) (prog-if 30 [XHCI]) Subsystem: Lenovo C620 Series Chipset Family USB 3.0 xHCI Controller Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx+ Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0 Interrupt: pin A routed to IRQ 38 NUMA node: 0 IOMMU group: 16 Region 0: Memory at 90320000 (64-bit, non-prefetchable) [size=64K] Capabilities: <access denied> Kernel driver in use: xhci_hcd Kernel modules: xhci_pci We've seen this issue on a variety of hardware from Lenovo and HP, so it's not specific to this specific workstation model (Lenovo P920). I repro the issue by running the bulk-cancel program against my "servo" hardware, which is debugging hardware for Chromebooks. As I said, though, I can repro it easily without having a device attached, so I *think* all you need is a device which handles BULK IN commands. I've got 2, and if I run against both my system repros the issue in under a minute, usually. With 1 it takes a little longer but still repros, so I don't think it's an interaction between the two devices. Please let me know if I can provide anything else of value.