Re: Root hub autosusend delay

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

 



On Tue, Jan 22, 2013 at 03:08:27PM -0500, Alan Stern wrote:
> 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.
Does below code at kick_khubd will avoid hub going to autosuspend?
usb_autopm_get_interface_no_resume(
		to_usb_interface(hub->intfdev));

> 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
> 

-- 

Best Regards,
Peter Chen

--
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