Re: HC died

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

 



On Thu, Feb 23, 2023 at 09:31:05AM -0600, Seth Bollinger wrote:
> > > We're experiencing a problem with our devices in the field where our
> > > customers attach problematic USB devices that are causing the xhci
> > > host controller to shut down with the "HC died; cleaning up" message.
> >
> > Is this seen only on some specific xHC host controller?
> 
> I don't think so.  We've seen this on pcie attached asmedia 3142 and
> NXP ls1012a/ls1046a SOC controllers (which I think are dwc3 IP).
> Strangely the timing seems to be much easier to reproduce on the pcie
> attached asm3142.
> 
> > > I've narrowed this down to a timeout of the address device TRB on the
> > > command ring (currently 5 seconds).  It sometimes takes our hardware
> > > 9.6 to complete this TRB.  When the driver is trying to stop the cmd

Note that the USB-2.0 spec says (section 9.2.6.3, Set Address 
Processing):

	After the reset/resume recovery interval, if a device receives a 
	SetAddress() request, the device must be able to complete 
	processing of the request and be able to successfully complete 
	the Status stage of the request within 50 ms.

These devices' 9.6 seconds to process a Set-Address request is a _lot_ 
longer than 50 ms.  No wonder they don't work properly.  Why on earth do 
they take so long?

Of course, xHCI controller drivers should be able to cancel an 
Address-Device TRB without waiting for it to complete.

Alan Stern



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux