linux/drivers/usb/host
Mathias Nyman c5fcfe5f47 xhci: fix 10 second timeout on removal of PCI hotpluggable xhci controllers
[ Upstream commit 98d74f9cea ]

PCI hotpluggable xhci controllers such as some Alpine Ridge solutions will
remove the xhci controller from the PCI bus when the last USB device is
disconnected.

Add a flag to indicate that the host is being removed to avoid queueing
configure_endpoint commands for the dropped endpoints.
For PCI hotplugged controllers this will prevent 5 second command timeouts
For static xhci controllers the configure_endpoint command is not needed
in the removal case as everything will be returned, freed, and the
controller is reset.

For now the flag is only set for PCI connected host controllers.

Cc: <stable@vger.kernel.org>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
History 2016-04-20 01:13:12 -04:00
..
whci USB: whci-hcd: add check for dma mapping error 2016-01-22 20:54:10 -08:00
bcma-hcd.c treewide: Remove unnecessary BCMA_CORETABLE_END macro 2015-02-11 14:38:28 -08:00
ehci-atmel.c USB: ehci-atmel: rework clk handling 2015-03-18 13:28:35 +01:00
ehci-dbg.c usb: Use dev_is_pci() to check whether it is pci device 2013-12-08 18:01:56 -08:00
ehci-exynos.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
ehci-fsl.c usb: host: drop owner assignment from platform_drivers 2015-01-09 12:31:53 -08:00
ehci-fsl.h powerpc/usb: fix bug of CPU hang when missing USB PHY clock 2012-09-05 16:52:08 -07:00
ehci-grlib.c usb: host: drop owner assignment from platform_drivers 2015-01-09 12:31:53 -08:00
ehci-hcd.c usb: host: ehci: use new USB_RESUME_TIMEOUT 2015-04-07 12:58:35 -05:00
ehci-hub.c usb: generic resume timeout for v4.1 2015-04-10 13:45:27 +02:00
ehci-mem.c USB: EHCI: don't allocate hardware periodic table atomically by default 2014-07-09 16:16:07 -07:00
ehci-msm.c Revert "usb: host: ehci-msm: Use devm_ioremap_resource instead of devm_ioremap" 2015-04-28 12:51:30 +02:00
ehci-mv.c host: ehci-mv: remove duplicate check on resource 2014-11-07 09:01:50 -08:00
ehci-mxc.c host: ehci-mxc: remove duplicate check on resource 2014-11-07 09:01:50 -08:00
ehci-omap.c usb: hcd: move controller wakeup setting initialization to individual driver 2013-12-08 18:06:46 -08:00
ehci-orion.c usb: ehci-orion: fix probe for !GENERIC_PHY 2015-12-09 14:03:25 -05:00
ehci-pci.c ehci-pci: disable for Intel MID platforms (update) 2015-02-03 15:28:31 -08:00
ehci-platform.c usb: ehci-platform: add support for multiple phys per controller 2015-01-25 21:05:10 +08:00
ehci-pmcmsp.c usb: host: drop owner assignment from platform_drivers 2015-01-09 12:31:53 -08:00
ehci-ppc-of.c usb: host: drop owner assignment from platform_drivers 2015-01-09 12:31:53 -08:00
ehci-ps3.c usb: hcd: move controller wakeup setting initialization to individual driver 2013-12-08 18:06:46 -08:00
ehci-q.c usb: kill DEBUG compile option 2013-12-03 10:34:33 -08:00
ehci-sched.c USB: EHCI: adjust error return code 2015-01-09 09:58:49 -08:00
ehci-sead3.c usb: host: drop owner assignment from platform_drivers 2015-01-09 12:31:53 -08:00
ehci-sh.c usb: host: drop owner assignment from platform_drivers 2015-01-09 12:31:53 -08:00
ehci-spear.c host: ehci-spear: remove duplicate check on resource 2014-11-07 09:01:51 -08:00
ehci-st.c usb: host: ehci-st: Add EHCI support for ST STB devices 2014-09-23 21:35:50 -07:00
ehci-sysfs.c usb: host: ehci-sys: delete useless bus_to_hcd conversion 2015-09-21 10:05:38 -07:00
ehci-tegra.c usb: host: ehci-tegra: request deferred probe when failing to get phy 2015-01-09 10:01:45 -08:00
ehci-tilegx.c usb: host: drop owner assignment from platform_drivers 2015-01-09 12:31:53 -08:00
ehci-timer.c USB: EHCI: improve interrupt qh unlink 2013-08-12 11:43:48 -07:00
ehci-w90x900.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
ehci-xilinx-of.c usb: host: drop owner assignment from platform_drivers 2015-01-09 12:31:53 -08:00
ehci.h USB: ehci-platform: Support ehci reset after resume quirk 2015-01-09 12:25:54 -08:00
fhci-dbg.c drivers/usb/host/fhci-dbg.c: remove unnecessary null test before debugfs_remove 2014-07-09 16:13:03 -07:00
fhci-hcd.c usb: host: drop owner assignment from platform_drivers 2014-10-20 16:21:49 +02:00
fhci-hub.c fhci-hub: use USB_DT_HUB 2015-04-03 19:03:19 +02:00
fhci-mem.c USB: make hcd.h public (drivers dependency) 2010-05-20 13:21:30 -07:00
fhci-q.c USB: make hcd.h public (drivers dependency) 2010-05-20 13:21:30 -07:00
fhci-sched.c USB: FHCI: upgrade the isochronous API 2013-05-30 21:34:31 +09:00
fhci-tds.c USB: FHCI: Reusing QUICC Engine USB Controller registers from immap_qe.h 2012-06-26 19:42:11 -07:00
fhci.h USB: FHCI: upgrade the isochronous API 2013-05-30 21:34:31 +09:00
fotg210-hcd.c usb: generic resume timeout for v4.1 2015-04-10 13:45:27 +02:00
fotg210.h fotg210: Use ehci_dbg_port struct 2014-11-07 09:02:38 -08:00
fsl-mph-dr-of.c usb: host: drop owner assignment from platform_drivers 2014-10-20 16:21:49 +02:00
fusbh200-hcd.c usb: generic resume timeout for v4.1 2015-04-10 13:45:27 +02:00
fusbh200.h fusbh200: Use ehci_dbg_port struct 2014-11-07 09:02:38 -08:00
hwa-hc.c USB: HWA: fix a warning message 2014-11-03 15:26:15 -08:00
imx21-dbg.c usb: kill DEBUG compile option 2013-12-03 10:34:33 -08:00
imx21-hcd.c imx21-hcd: use USB_DT_HUB 2015-04-03 19:03:18 +02:00
imx21-hcd.h usb: kill DEBUG compile option 2013-12-03 10:34:33 -08:00
isp116x-hcd.c usb: generic resume timeout for v4.1 2015-04-10 13:45:27 +02:00
isp116x.h USB: isp116x: remove dependency on CONFIG_USB_DEBUG 2013-07-23 16:35:17 -07:00
isp1362-hcd.c isp1362-hcd: use USB_DT_HUB 2015-04-03 19:03:18 +02:00
isp1362.h USB: isp1362: move debug files from proc to debugfs 2013-07-24 14:43:05 -07:00
Kconfig ehci-msm: Remove dead dependency 2015-03-18 17:27:03 +01:00
Makefile usb: xhci: Makefile: move xhci-pci and xhci-plat-hcd after xhci-hcd 2016-02-15 15:45:33 -05:00
max3421-hcd.c max3421-hcd: use USB_DT_HUB 2015-04-03 19:03:18 +02:00
ohci-at91.c USB: host: ohci-at91: remove useless uclk clock 2015-03-26 10:54:01 +01:00
ohci-da8xx.c usb: host: drop owner assignment from platform_drivers 2015-01-09 12:31:53 -08:00
ohci-dbg.c USB: OHCI: fix bugs in debug routines 2014-07-17 17:05:07 -07:00
ohci-exynos.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
ohci-hcd.c USB: host: Remove ehci-octeon and ohci-octeon drivers 2014-11-25 09:19:28 -08:00
ohci-hub.c ohci-hub: use USB_DT_HUB 2015-04-03 19:03:17 +02:00
ohci-jz4740.c usb: host: drop owner assignment from platform_drivers 2015-01-09 12:31:53 -08:00
ohci-mem.c USB: OHCI: add I/O watchdog for orphan TDs 2014-07-18 16:34:07 -07:00
ohci-nxp.c usb: host: drop owner assignment from platform_drivers 2014-10-20 16:21:49 +02:00
ohci-omap.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
ohci-omap3.c usb: hcd: move controller wakeup setting initialization to individual driver 2013-12-08 18:06:46 -08:00
ohci-pci.c USB: OHCI: fix problem with global suspend on ATI controllers 2014-05-03 17:58:46 -04:00
ohci-platform.c usb: ohci-platform: add support for multiple phys per controller 2015-01-25 21:04:21 +08:00
ohci-ppc-of.c usb: host: drop owner assignment from platform_drivers 2015-01-09 12:31:53 -08:00
ohci-ps3.c usb: hcd: move controller wakeup setting initialization to individual driver 2013-12-08 18:06:46 -08:00
ohci-pxa27x.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
ohci-q.c USB: OHCI: Fix race between ED unlink and URB submission 2015-08-03 09:29:06 -07:00
ohci-s3c2410.c ohci-s3c2410: use HUB_CHAR_* 2015-01-25 21:01:13 +08:00
ohci-sa1111.c usb: hcd: move controller wakeup setting initialization to individual driver 2013-12-08 18:06:46 -08:00
ohci-sm501.c usb: host: drop owner assignment from platform_drivers 2015-01-09 12:31:53 -08:00
ohci-spear.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
ohci-st.c usb: host: ohci-st: Add OHCI driver support for ST STB devices 2014-09-23 21:35:50 -07:00
ohci-tilegx.c usb: host: drop owner assignment from platform_drivers 2015-01-09 12:31:53 -08:00
ohci-tmio.c usb: host: drop owner assignment from platform_drivers 2015-01-09 12:31:53 -08:00
ohci.h USB: OHCI: Eliminate platform-specific test in ohci.h 2014-11-03 15:38:17 -08:00
oxu210hp-hcd.c usb: generic resume timeout for v4.1 2015-04-10 13:45:27 +02:00
oxu210hp.h USB: replace uses of __constant_{endian} 2009-03-24 16:20:33 -07:00
pci-quirks.c usb: host: pci_quirks: joing string literals 2015-01-31 09:05:06 -08:00
pci-quirks.h usb: pci_quirks: fix sparse 'symbol not declared' warning 2014-05-27 16:25:32 -07:00
r8a66597-hcd.c usb: generic resume timeout for v4.1 2015-04-10 13:45:27 +02:00
r8a66597.h usb/host/r8a66597: remove conditional compilation of clk code 2012-07-30 17:25:12 -07:00
sl811-hcd.c usb: generic resume timeout for v4.1 2015-04-10 13:45:27 +02:00
sl811.h USB: sl811: move debug files from proc to debugfs 2013-07-24 14:43:05 -07:00
sl811_cs.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
ssb-hcd.c treewide: Remove unnecessary SSB_DEVTABLE_END macro 2015-02-11 14:38:29 -08:00
u132-hcd.c u132-hcd: use USB_DT_HUB 2015-04-03 19:03:16 +02:00
uhci-debug.c usb: kill DEBUG compile option 2013-12-03 10:34:33 -08:00
uhci-grlib.c usb: host: drop owner assignment from platform_drivers 2015-01-09 12:31:53 -08:00
uhci-hcd.c USB: UHCI: don't allocate frame list atomically 2014-07-09 16:16:07 -07:00
uhci-hcd.h USB: UHCI: remove unused definition 2013-01-24 13:42:09 -08:00
uhci-hub.c usb: generic resume timeout for v4.1 2015-04-10 13:45:27 +02:00
uhci-pci.c USB: remove DEFINE_PCI_DEVICE_TABLE macro 2013-12-04 16:58:47 -08:00
uhci-platform.c usb: host: drop owner assignment from platform_drivers 2015-01-09 12:31:53 -08:00
uhci-q.c USB: UHCI: accept very late isochronous URBs 2013-09-25 17:05:34 -07:00
xhci-dbg.c xhci: clean up work to remove unused parameters for functions in xhci-mem.c 2015-01-09 10:05:47 -08:00
xhci-ext-caps.h xhci: fix port BESL LPM capability checking 2013-08-27 08:54:42 -07:00
xhci-hub.c xhci: do not report PLC when link is in internal resume state 2015-08-10 12:21:57 -07:00
xhci-mem.c usb: xhci: fix wild pointers in xhci_mem_cleanup 2016-04-20 01:13:12 -04:00
xhci-mvebu.c usb: host: xhci-plat: add support for the Armada 375/38x XHCI controllers 2014-05-27 15:40:40 -07:00
xhci-mvebu.h usb: host: xhci-plat: add support for the Armada 375/38x XHCI controllers 2014-05-27 15:40:40 -07:00
xhci-pci.c xhci: fix 10 second timeout on removal of PCI hotpluggable xhci controllers 2016-04-20 01:13:12 -04:00
xhci-plat.c usb: xhci: plat: Add USB phy support 2015-03-18 16:21:14 +01:00
xhci-rcar.c usb: host: xhci-plat: add support for the R-Car H2 and M2 xHCI controllers 2014-07-09 15:49:10 -07:00
xhci-rcar.h usb: host: xhci-plat: add support for the R-Car H2 and M2 xHCI controllers 2014-07-09 15:49:10 -07:00
xhci-ring.c xhci: fix 10 second timeout on removal of PCI hotpluggable xhci controllers 2016-04-20 01:13:12 -04:00
xhci-trace.c xhci: Export symbols used by host-controller drivers 2014-10-03 14:44:45 -07:00
xhci-trace.h tracing: Add TRACE_SYSTEM_VAR to xhci-hcd 2015-04-07 12:31:55 -04:00
xhci.c xhci: fix 10 second timeout on removal of PCI hotpluggable xhci controllers 2016-04-20 01:13:12 -04:00
xhci.h xhci: fix 10 second timeout on removal of PCI hotpluggable xhci controllers 2016-04-20 01:13:12 -04:00