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....@mediatek.com>

Acked-by: Alan Stern <st...@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
> 

Reply via email to