From: Greg Kroah-Hartman Date: Mon, 31 May 2021 12:16:56 +0000 (+0200) Subject: 4.9-stable patches X-Git-Tag: v4.4.271~16 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e618b3890d38bbfb21a06610d6fc3e526477ef08;p=thirdparty%2Fkernel%2Fstable-queue.git 4.9-stable patches added patches: usb-core-reduce-power-on-good-delay-time-of-root-hub.patch --- diff --git a/queue-4.9/series b/queue-4.9/series index 97e243bfeb6..a7f59cd0841 100644 --- a/queue-4.9/series +++ b/queue-4.9/series @@ -63,3 +63,4 @@ sch_dsmark-fix-a-null-deref-in-qdisc_reset.patch mips-alchemy-xxs1500-add-gpio-au1000.h-header-file.patch mips-ralink-export-rt_sysc_membase-for-rt2880_wdt.c.patch hugetlbfs-hugetlb_fault_mutex_hash-cleanup.patch +usb-core-reduce-power-on-good-delay-time-of-root-hub.patch diff --git a/queue-4.9/usb-core-reduce-power-on-good-delay-time-of-root-hub.patch b/queue-4.9/usb-core-reduce-power-on-good-delay-time-of-root-hub.patch new file mode 100644 index 00000000000..28f75524851 --- /dev/null +++ b/queue-4.9/usb-core-reduce-power-on-good-delay-time-of-root-hub.patch @@ -0,0 +1,39 @@ +From 90d28fb53d4a51299ff324dede015d5cb11b88a2 Mon Sep 17 00:00:00 2001 +From: Chunfeng Yun +Date: Sat, 10 Apr 2021 09:20:45 +0800 +Subject: usb: core: reduce power-on-good delay time of root hub + +From: Chunfeng Yun + +commit 90d28fb53d4a51299ff324dede015d5cb11b88a2 upstream. + +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 + +Acked-by: Alan Stern +Signed-off-by: Chunfeng Yun +Link: https://lore.kernel.org/r/1618017645-12259-1-git-send-email-chunfeng.yun@mediatek.com +Signed-off-by: Greg Kroah-Hartman +--- + drivers/usb/core/hub.h | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +--- a/drivers/usb/core/hub.h ++++ b/drivers/usb/core/hub.h +@@ -151,8 +151,10 @@ static inline unsigned hub_power_on_good + { + 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,