On Sat, Jun 24, 2023, Jakub Vaněk wrote: <snip> > > > > > > I can reproduce the problem on mainline 6.4-rc6 with multi_v7_defconfig > > > (+ CONFIG_BTRFS=y for the rootfs). I've bisected the problem a while > > > back and the first broken commit is b138e23d3dff ("usb: dwc3: core: > > > Enable AutoRetry feature in the controller"). Reverting this commit > > > locally makes my board stable again (FIO test above can run > > > for >10 minutes without any issues). > > > > This info helps a lot. > > > > > > > > The crash is happening when the USB-SATA bridge is controlled by the > > > uas driver. I have not tested the usb-storage driver yet. > > > > > > What do you think would be an appropriate fix here? One idea I had is > > > to add a Odroid-specific quirk to DWC3 to not enable AutoRetry here. > > > However, I'm not entirely sure this is isolated to Odroid boards. > > > > > > Please let me know if you need me to do some more experiments. > > > > > > > This failure indicates that whichever device you're testing against > > could not retry with burst (NumP != 0) after a CRC error. After a period > > of time, the host timed out and attempted to restore its operations by > > stoping the active transfers with a Stop-ep command. However, for some > > reason, the host doesn't respond to this command. The crash you observed > > is probably a separate issue. The main issue is why the host doesn't > > receive a command completion event. If you're our direct customer, you > > can submit a STAR request for our support. I'm not aware of this type of > > failure related to AutoRetry. However, given how old this controller > > version is (over a decade ago), I can't be sure. > > Thank you, this explanations makes sense to me. > > > I think if you try to test against a different device, you may not > > observe this same failure. > > I can partially confirm this. There is a USB3 to 1Gbit Ethernet bridge > onboard too and this peripheral appears to work reliably. I am unable > to test a different USB-to-SATA bridge though - there are no physical > USB3 ports on Odroid HC2. It would be possible to verify this on Odroid > XU4 which uses the same chip and does have physical USB ports. However, > I don't have one at hand now. > > > To resolve this, please look into our support team to investigate > > further to see whether it's a setup issue. Otherwise, we can disable > > this feature for dwc_usb3 v2.00a. Depending on how bad the CRC error > > rate is (which should be low), this should not affect performance > > much. > > I unfortunately have no relationship with either Synopsys, Samsung or > Hardkernel. Would you be OK with me submitting the proposed patch even > without further investigation? Also, can I submit this for backporting > to -stable? Yes. Please summarize all the findings and explanation in the change log. Thanks, Thinh