Root hub autosusend delay

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

 



Lei:

It turns out that your patch setting the autosuspend delay for hubs to
0 causes problems for root hubs.  They need a delay of at least 30 ms.

When a child device sends a remote wakeup request, the root hub
generates an interrupt.  The HCD's interrupt handler sees what happened
and requests a runtime resume for the root hub.  However it can't tell
the hub driver about the wakeup request until the port resume is
finished, which takes about 25 ms.  During that time, the hub driver
won't know what has happened and so it will try to autosuspend.  The
autosuspend will fail because the port is resuming, but the hub driver
will go right ahead and keep trying to autosuspend.  This will continue
until the port resume is complete.

In order to avoid all these extra autosuspend attempts, the delay 
for root hubs should be set to something larger than 25 ms, such as 30 
ms.  Do you agree?

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


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

  Powered by Linux