[RFC PATCH] usb: core: reduce power-on-good delay time of root hub

Alan Stern stern at rowland.harvard.edu
Fri Apr 9 16:09:11 BST 2021


On Fri, Apr 09, 2021 at 10:39:07AM +0800, Chunfeng Yun wrote:
> Return the exactly delay time given by root hub descriptor,
> this helps to reduce resume time etc.
> 
> Due to the root hub descriptor is usually provided by the host
> controller driver, if there is compatibility for a root hub,
> we can fix it easily without affect other root hub
> 
> Signed-off-by: Chunfeng Yun <chunfeng.yun at mediatek.com>

Acked-by: Alan Stern <stern at rowland.harvard.edu>

> ---
>  drivers/usb/core/hub.h | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/usb/core/hub.h b/drivers/usb/core/hub.h
> index 73f4482d833a..22ea1f4f2d66 100644
> --- a/drivers/usb/core/hub.h
> +++ b/drivers/usb/core/hub.h
> @@ -148,8 +148,10 @@ static inline unsigned hub_power_on_good_delay(struct usb_hub *hub)
>  {
>  	unsigned delay = hub->descriptor->bPwrOn2PwrGood * 2;
>  
> -	/* Wait at least 100 msec for power to become stable */
> -	return max(delay, 100U);
> +	if (!hub->hdev->parent)	/* root hub */
> +		return delay;
> +	else /* Wait at least 100 msec for power to become stable */
> +		return max(delay, 100U);
>  }
>  
>  static inline int hub_port_debounce_be_connected(struct usb_hub *hub,
> -- 
> 2.18.0
> 



More information about the linux-arm-kernel mailing list