linux/drivers/usb/host
Mathias Nyman bcf42aa60c xhci: fix null pointer dereference in stop command timeout function
The stop endpoint command has its own 5 second timeout timer.
If the timeout function is triggered between USB3 and USB2 host
removal it will try to call usb_hc_died(xhci_to_hcd(xhci)->primary_hcd)

the ->primary_hcd will be set to NULL at USB3 hcd removal.

Fix this by first checking if the PCI host is being removed, and
also by using only xhci_to_hcd() as it will always return the primary
hcd.

CC: <stable@vger.kernel.org>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-09-08 08:39:46 +02:00
..
whci usb: hcd: do not call whc_clean_up on wch_init call failure 2016-04-26 16:11:22 -07:00
Kconfig usb: gadget: move gadget API functions to udc-core 2016-06-21 10:38:34 +03:00
Makefile usb: xhci: Add NVIDIA Tegra XUSB controller driver 2016-04-29 16:48:58 +02:00
bcma-hcd.c USB: bcma: use simpler devm helper for getting vcc GPIO 2016-04-26 16:11:22 -07:00
ehci-atmel.c
ehci-dbg.c USB: EHCI: make all debugging depend on CONFIG_DYNAMIC_DEBUG 2016-04-29 15:31:30 -07:00
ehci-exynos.c usb/host/: const data must use __initconst not __initdata 2016-04-28 12:35:36 -07:00
ehci-fsl.c
ehci-fsl.h
ehci-grlib.c
ehci-hcd.c usb: ehci: change order of register cleanup during shutdown 2016-08-09 16:14:18 +02:00
ehci-hub.c USB: EHCI: avoid undefined pointer arithmetic and placate UBSAN 2016-06-01 14:56:24 -07:00
ehci-mem.c
ehci-msm.c usb: host: ehci-msm: Conditionally call ehci suspend/resume 2016-06-07 22:15:25 -07:00
ehci-mv.c
ehci-mxc.c
ehci-omap.c usb/host/: const data must use __initconst not __initdata 2016-04-28 12:35:36 -07:00
ehci-orion.c
ehci-pci.c
ehci-platform.c ehci-platform: Add support for shared reset controllers 2016-06-08 10:55:17 -07:00
ehci-pmcmsp.c
ehci-ppc-of.c
ehci-ps3.c
ehci-q.c
ehci-sched.c
ehci-sead3.c
ehci-sh.c
ehci-spear.c usb/host/: const data must use __initconst not __initdata 2016-04-28 12:35:36 -07:00
ehci-st.c usb: host: ehci-st: Inform the reset framework that our reset line may be shared 2016-06-30 07:44:21 +01:00
ehci-sysfs.c
ehci-tegra.c usb: host: ehci-tegra: Avoid getting the same reset twice 2016-06-07 22:15:25 -07:00
ehci-tilegx.c
ehci-timer.c
ehci-w90x900.c
ehci-xilinx-of.c
ehci.h
fhci-dbg.c
fhci-hcd.c
fhci-hub.c
fhci-mem.c
fhci-q.c
fhci-sched.c USB: FHCI: avoid redundant condition 2016-05-09 13:08:46 +02:00
fhci-tds.c
fhci.h
fotg210-hcd.c usb/host/fotg210: remove dead code in create_sysfs_files 2016-05-09 13:08:46 +02:00
fotg210.h
fsl-mph-dr-of.c
hwa-hc.c
imx21-dbg.c
imx21-hcd.c
imx21-hcd.h
isp116x-hcd.c
isp116x.h
isp1362-hcd.c
isp1362.h
max3421-hcd.c usb: host: max3421-hcd: fix mask of IO control register 2016-08-09 16:14:18 +02:00
ohci-at91.c Revert "usb: ohci-at91: Forcibly suspend ports while USB suspend" 2016-06-20 07:42:07 -07:00
ohci-da8xx.c
ohci-dbg.c
ohci-exynos.c
ohci-hcd.c timers: Remove set_timer_slack() leftovers 2016-07-07 10:35:09 +02:00
ohci-hub.c
ohci-mem.c
ohci-nxp.c
ohci-omap.c
ohci-omap3.c
ohci-pci.c
ohci-platform.c ohci-platform: Add support for controllers with multiple reset lines 2016-06-07 22:21:41 -07:00
ohci-ppc-of.c
ohci-ps3.c
ohci-pxa27x.c
ohci-q.c USB: OHCI: Don't mark EDs as ED_OPER if scheduling fails 2016-06-07 22:15:25 -07:00
ohci-s3c2410.c
ohci-sa1111.c
ohci-sm501.c
ohci-spear.c
ohci-st.c usb: host: ohci-st: Inform the reset framework that our reset line may be shared 2016-06-30 07:44:20 +01:00
ohci-tilegx.c
ohci-tmio.c
ohci.h
oxu210hp-hcd.c
oxu210hp.h
pci-quirks.c
pci-quirks.h
r8a66597-hcd.c
r8a66597.h
sl811-hcd.c
sl811.h
sl811_cs.c
ssb-hcd.c
u132-hcd.c
uhci-debug.c
uhci-grlib.c
uhci-hcd.c
uhci-hcd.h
uhci-hub.c
uhci-pci.c
uhci-platform.c
uhci-q.c
xhci-dbg.c
xhci-ext-caps.h
xhci-hub.c usb: xhci: Fix panic if disconnect 2016-08-16 09:42:47 +02:00
xhci-mem.c xhci: TD-fragment, align the unsplittable case with a bounce buffer 2016-06-26 11:43:39 -07:00
xhci-mtk-sch.c
xhci-mtk.c
xhci-mtk.h
xhci-mvebu.c usb: host: xhci: plat: change type of mvebu init_quirk() 2016-04-26 16:08:02 -07:00
xhci-mvebu.h usb: host: xhci: plat: change type of mvebu init_quirk() 2016-04-26 16:08:02 -07:00
xhci-pci.c xhci: don't dereference a xhci member after removing xhci 2016-08-16 09:42:47 +02:00
xhci-plat.c xhci: get rid of platform data 2016-06-26 11:43:39 -07:00
xhci-plat.h usb: host: xhci: plat: finally get rid of xhci_plat_type_is() 2016-04-26 16:08:02 -07:00
xhci-rcar.c usb: host: xhci: rcar: retire use of xhci_plat_type_is() 2016-04-26 16:08:02 -07:00
xhci-rcar.h
xhci-ring.c xhci: fix null pointer dereference in stop command timeout function 2016-09-08 08:39:46 +02:00
xhci-tegra.c usb: xhci: tegra: Add Tegra210 support 2016-04-29 16:48:59 +02:00
xhci-trace.c
xhci-trace.h
xhci.c Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-07-25 20:43:12 -07:00
xhci.h xhci: TD-fragment, align the unsplittable case with a bounce buffer 2016-06-26 11:43:39 -07:00