Re: usb: dwc3: HC dies under high I/O load on Exynos5422

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux SoC Development]     [Linux Rockchip Development]     [Linux for Synopsys ARC Processors]    
  • [Linux on Unisoc (RDA Micro) SoCs]     [Linux Actions SoC]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Linux SCSI]     [Yosemite News]

  •   Powered by Linux