linux/drivers/usb/host
Hongyu Xie a808925075 xhci: Keep interrupt disabled in initialization until host is running.
irq is disabled in xhci_quiesce(called by xhci_halt, with bit:2 cleared
in USBCMD register), but xhci_run(called by usb_add_hcd) re-enable it.
It's possible that you will receive thousands of interrupt requests
after initialization for 2.0 roothub. And you will get a lot of
warning like, "xHCI dying, ignoring interrupt. Shouldn't IRQs be
disabled?". This amount of interrupt requests will cause the entire
system to freeze.
This problem was first found on a device with ASM2142 host controller
on it.

[tidy up old code while moving it, reword header -Mathias]

Cc: stable@kernel.org
Signed-off-by: Hongyu Xie <xiehongyu1@kylinos.cn>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20220623111945.1557702-2-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-06-23 16:27:28 +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
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: omap: avoid mach/*.h headers 2022-04-21 15:01:32 +02: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 / Thunderbolt changes for 5.19-rc1 2022-06-03 11:17:49 -07: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 ARM: pxa: split up mach/hardware.h 2022-04-19 16:27:05 +02:00
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_cs.c
sl811-hcd.c usb: remove third argument of usb_maxpacket() 2022-04-23 10:33:53 +02:00
sl811.h
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/usbfront: use xenbus_setup_ring() and xenbus_teardown_ring() 2022-05-19 14:22:05 +02: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
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: remove bandwidth budget table 2022-05-12 18:35:38 +02: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: xhci-mtk: remove bandwidth budget table 2022-05-12 18:35:38 +02: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: Keep interrupt disabled in initialization until host is running. 2022-06-23 16:27:28 +02:00
xhci.h xhci: Remove quirk for over 10 year old evaluation hardware 2022-05-12 18:32:25 +02:00