linux-stable/drivers/usb/host
Dmitry Torokhov 69a1c9a9b2 usb: Probe EHCI, OHCI controllers asynchronously
initcall_debug shows that OHCI controllers take ~60ms to probe on
Rockchip RK3399 systems:

  probe of fe3a0000.usb returned 1 after 58941 usecs

A few of these can add up to waste non-trivial amounts of time at boot.

These host controllers don't provide resources to other drivers, so
this shouldn't contribute to exposing race conditions.

Chrome OS kernels have carried this patch on some systems for a while
without issues. Similar patches have been merged for a variety of (e)MMC
host controllers for similar reasons.

[Brian: rewrote commit message, refreshed, but retained dtor's original
 authorship ]

Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Dmitry Torokhov <dtor@chromium.org>
Signed-off-by: Brian Norris <briannorris@chromium.org>
Link: https://lore.kernel.org/r/20220518150150.1.Ie8ea0e945a9c15066237014be219eed60066d493@changeid
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-05-19 18:11:25 +02:00
..
bcma-hcd.c Revert "USB: bcma: Add a check for devm_gpiod_get" 2021-09-14 10:34:15 +02:00
ehci-atmel.c USB: host: ehci-atmel: Add support for HSIC phy 2021-09-14 10:26:29 +02:00
ehci-brcm.c USB: ehci_brcm_hub_control: Improve port index sanitizing 2021-11-17 14:34:18 +01:00
ehci-dbg.c usb: host: {e|o}hci-dbg: kill useless 'ret' variable initializers 2022-02-15 15:11:20 +01:00
ehci-exynos.c
ehci-fsl.c fsl-usb: add need_oc_pp_cycle flag for 85xx also 2021-05-21 14:04:57 +02:00
ehci-fsl.h
ehci-grlib.c
ehci-hcd.c USB: Fix ehci infinite suspend-resume loop issue in zhaoxin 2022-04-21 18:53:53 +02:00
ehci-hub.c USB: EHCI: Improve port index sanitizing 2021-10-05 12:52:03 +02:00
ehci-mem.c usb: host: ehci: Make use of dma_pool_zalloc() instead of dma_pool_alloc/memset() 2021-10-21 12:47:56 +02:00
ehci-mv.c usb: host: ehci-mv: drop duplicated MODULE_ALIAS 2021-09-21 16:33:00 +02:00
ehci-npcm7xx.c
ehci-omap.c usb: ehci-omap: drop unused ehci_read() function 2022-05-05 21:53:18 +02:00
ehci-orion.c usb: ehci-orion: Handle errors of clk_prepare_enable() in probe 2021-08-26 13:09:34 +02:00
ehci-pci.c USB: Fix ehci infinite suspend-resume loop issue in zhaoxin 2022-04-21 18:53:53 +02:00
ehci-platform.c usb: Probe EHCI, OHCI controllers asynchronously 2022-05-19 18:11:25 +02:00
ehci-ppc-of.c
ehci-ps3.c
ehci-q.c usb: remove third argument of usb_maxpacket() 2022-04-23 10:33:53 +02:00
ehci-sched.c usb: host: ehci-sched: Use struct_size() in kzalloc() 2022-01-26 13:50:07 +01:00
ehci-sh.c Revert "usb: host: ehci-sh: propagate errors from platform_get_irq()" 2021-12-21 07:14:05 +01:00
ehci-spear.c
ehci-st.c
ehci-sysfs.c
ehci-timer.c
ehci-xilinx-of.c usb: host: ehci-xilinx: adding description for return value 2022-05-12 13:58:48 +02:00
ehci.h USB: Fix ehci infinite suspend-resume loop issue in zhaoxin 2022-04-21 18:53:53 +02:00
fhci-dbg.c
fhci-hcd.c usb: remove third argument of usb_maxpacket() 2022-04-23 10:33:53 +02:00
fhci-hub.c
fhci-mem.c
fhci-q.c
fhci-sched.c
fhci-tds.c
fhci.h
fotg210-hcd.c usb: remove third argument of usb_maxpacket() 2022-04-23 10:33:53 +02:00
fotg210.h usb: host: fotg210: fix the actual_length of an iso packet 2021-07-21 10:03:42 +02:00
fsl-mph-dr-of.c
isp116x-hcd.c usb: remove third argument of usb_maxpacket() 2022-04-23 10:33:53 +02:00
isp116x.h
isp1362-hcd.c usb: remove third argument of usb_maxpacket() 2022-04-23 10:33:53 +02:00
isp1362.h
Kconfig usb: Introduce Xen pvUSB frontend (xen hcd) 2021-12-13 14:58:32 +01:00
Makefile usb: Introduce Xen pvUSB frontend (xen hcd) 2021-12-13 14:58:32 +01:00
max3421-hcd.c usb: remove third argument of usb_maxpacket() 2022-04-23 10:33:53 +02:00
ohci-at91.c usb: host: ohci-at91: suspend/resume ports after/before OHCI accesses 2021-07-27 16:31:17 +02:00
ohci-da8xx.c
ohci-dbg.c usb: host: {e|o}hci-dbg: kill useless 'ret' variable initializers 2022-02-15 15:11:20 +01:00
ohci-exynos.c
ohci-hcd.c usb: remove third argument of usb_maxpacket() 2022-04-23 10:33:53 +02:00
ohci-hub.c usb: ohci: disable start-of-frame interrupt in ohci_rh_suspend 2021-10-21 12:48:18 +02:00
ohci-mem.c
ohci-nxp.c
ohci-omap.c usb: host: ohci-omap: Make it CCF clk API compatible 2022-04-21 19:17:42 +02:00
ohci-pci.c
ohci-platform.c usb: Probe EHCI, OHCI controllers asynchronously 2022-05-19 18:11:25 +02:00
ohci-ppc-of.c usb: Prepare cleanup of powerpc's asm/prom.h 2022-04-21 19:01:30 +02:00
ohci-ps3.c
ohci-pxa27x.c
ohci-q.c
ohci-s3c2410.c usb: ohci-s3c2410: Use platform_get_irq() to get the interrupt 2021-12-17 16:51:59 +01:00
ohci-sa1111.c
ohci-sm501.c
ohci-spear.c usb: ohci-spear: Remove direct access to platform_device resource list 2021-12-17 16:51:31 +01:00
ohci-st.c
ohci-tmio.c headers/prep: Fix non-standard header section: drivers/usb/host/ohci-tmio.c 2022-01-05 16:18:11 +01:00
ohci.h
oxu210hp-hcd.c usb: remove third argument of usb_maxpacket() 2022-04-23 10:33:53 +02:00
pci-quirks.c
pci-quirks.h
r8a66597-hcd.c usb: remove third argument of usb_maxpacket() 2022-04-23 10:33:53 +02:00
r8a66597.h
sl811-hcd.c usb: remove third argument of usb_maxpacket() 2022-04-23 10:33:53 +02:00
sl811.h
sl811_cs.c
ssb-hcd.c
u132-hcd.c usb: Remove redundant 'flush_workqueue()' calls 2021-11-17 14:36:57 +01:00
uhci-debug.c
uhci-grlib.c
uhci-hcd.c
uhci-hcd.h
uhci-hub.c
uhci-pci.c
uhci-platform.c usb: uhci: Use platform_get_irq() to get the interrupt 2021-12-17 16:52:21 +01:00
uhci-q.c
xen-hcd.c xen: branch for v5.18-rc1 2022-03-28 14:32:39 -07:00
xhci-dbg.c
xhci-dbgcap.c xhci: dbc: Don't call dbc_tty_init() on every dbc tty probe 2022-02-17 16:20:45 +01:00
xhci-dbgcap.h xhci: dbgtty: use IDR to support several dbc instances. 2022-02-17 16:20:45 +01:00
xhci-dbgtty.c xhci: dbgtty: use IDR to support several dbc instances. 2022-02-17 16:20:45 +01:00
xhci-debugfs.c xhci: fix even more unsafe memory usage in xhci tracing 2021-08-26 13:06:02 +02:00
xhci-debugfs.h
xhci-ext-caps.c
xhci-ext-caps.h usb: xhci: Increase timeout for HC halt 2021-05-13 14:47:36 +02:00
xhci-histb.c
xhci-hub.c xhci: prepare for operation w/o shared hcd 2022-05-12 18:32:24 +02:00
xhci-mem.c xhci: use generic command timer for stop endpoint commands. 2022-05-12 18:32:25 +02:00
xhci-mtk-sch.c usb: xhci-mtk: Use struct_size() helper in create_sch_ep() 2022-01-26 14:03:26 +01:00
xhci-mtk.c usb: host: xhci-mtk: Simplify supplies handling with regulator_bulk 2022-02-17 16:12:04 +01:00
xhci-mtk.h usb: host: xhci-mtk: Simplify supplies handling with regulator_bulk 2022-02-17 16:12:04 +01:00
xhci-mvebu.c Revert "usb: host: xhci: mvebu: make USB 3.0 PHY optional for Armada 3720" 2022-02-25 19:12:21 +05:30
xhci-mvebu.h Revert "usb: host: xhci: mvebu: make USB 3.0 PHY optional for Armada 3720" 2022-02-25 19:12:21 +05:30
xhci-pci-renesas.c USB/Thunderbolt patches for 5.15-rc1 2021-09-01 09:59:34 -07:00
xhci-pci.c xhci: Allow host runtime PM as default for Intel Alder Lake N xHCI 2022-05-12 18:32:25 +02:00
xhci-pci.h usb: renesas-xhci: Remove renesas_xhci_pci_exit() 2021-07-21 10:05:59 +02:00
xhci-plat.c usb: host: xhci-plat: omit shared hcd if either root hub has no ports 2022-05-12 18:32:25 +02:00
xhci-plat.h Revert "usb: host: xhci: mvebu: make USB 3.0 PHY optional for Armada 3720" 2022-02-25 19:12:21 +05:30
xhci-rcar.c usb: Drop commas after SoC match table sentinels 2022-03-03 15:45:15 +01:00
xhci-rcar.h
xhci-ring.c xhci: Remove quirk for over 10 year old evaluation hardware 2022-05-12 18:32:25 +02:00
xhci-tegra.c usb: xhci: tegra:Fix PM usage reference leak of tegra_xusb_unpowergate_partitions 2022-04-21 18:32:48 +02:00
xhci-trace.c
xhci-trace.h xhci: fix even more unsafe memory usage in xhci tracing 2021-08-26 13:06:02 +02:00
xhci.c xhci: Don't defer primary roothub registration if there is only one roothub 2022-05-19 18:10:16 +02:00
xhci.h xhci: Remove quirk for over 10 year old evaluation hardware 2022-05-12 18:32:25 +02:00