Track down EHCI and companion errors on rk3xxx systems

Alan Stern stern at rowland.harvard.edu
Wed Jan 14 08:07:42 PST 2026


On Wed, Jan 14, 2026 at 04:41:13PM +0100, Diederik de Haas wrote:
> On Wed Jan 14, 2026 at 4:19 PM CET, Alan Stern wrote:
> > 30 seconds was a generous estimate on my part; 5 seconds probably would 
> > have been enough.  However, the USB subsystem does include some timeouts 
> > that are 2 seconds long and others that are 5 seconds long, and some of 
> > these timeouts are inside retry loops.  So a 30-second wait isn't 
> > unreasonable.
> 
> But that's all processing times *after* it detected a USB device?
> The thing that really surprised me that it took the kernel a minute to
> detect anything had happened at all. If that had taken 30 secs, that
> would've surprised me too. If it then took some time to make the device
> fully available and operational, sure, fine.

Well yes, I wanted you to wait long enough for all the initial 
processing (making the device fully available and operational) to finish 
up.

However, I agree: 30 seconds is _much_ longer than it should take to 
detect a newly plugged-in device.  It should take less than one second.  
One possibility is that something involved in waking up the EHCI host 
controller from its runtime suspend may have caused the delay -- that's 
why I asked you to try turning off the controller's runtime suspend. 

Also, I'm not at all familiar with the particular hardware used by your 
platform for receiving wakeup signals.  It's possible that a GPIO 
responsible for this wasn't working right and that's why you were 
getting all those warning messages.  Another reason for wanting to know 
what will happen if you take suspends and wakeups out of the picture.

Alan Stern



More information about the Linux-rockchip mailing list