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@xxxxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> > --- > 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 >