linux/drivers/usb/host
Sarah Sharp 386139d7c8 xhci: Fix NULL pointer deref in handle_port_status()
When we get a port status change event, we need to figure out what type of
port it came from: a USB 3.0 port, or a USB 2.0/1.1 port.  We can't know
which usb_hcd to use until that point, so hcd will be NULL for part of the
function.  Unfortunately, if any of the sanity checks fail, we'll jump to
the cleanup label before hcd is set to a valid pointer, and then we'll
attempt to tell the USB core to kick the hcd, which is NULL.

Skip kicking the roothub if the sanity checks fail.

Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
2011-04-13 16:19:49 -07:00
..
whci Fix common misspellings 2011-03-31 11:26:23 -03:00
ehci-atmel.c ehci-atmel: fix section mismatch warning 2011-03-11 14:18:52 -08:00
ehci-au1xxx.c USB: EHCI: fix scheduling while atomic during suspend 2011-02-03 16:57:43 -08:00
ehci-cns3xxx.c USB: cns3xxx: Add EHCI and OHCI bus glue for cns3xxx SOCs 2010-11-29 18:32:47 +03:00
ehci-dbg.c USB: EHCI: Cleanup and rewrite ehci_vdgb(). 2011-02-04 11:43:58 -08:00
ehci-fsl.c USB: ehci-fsl: Fix 'have_sysif_regs' detection 2011-01-22 18:38:58 -08:00
ehci-fsl.h USB: ehci-fsl: Fix 'have_sysif_regs' detection 2011-01-22 18:38:58 -08:00
ehci-hcd.c Merge branch 'devicetree/next' of git://git.secretlab.ca/git/linux-2.6 2011-03-16 17:28:10 -07:00
ehci-hub.c USB 3.0 Hub Changes 2011-03-13 18:07:11 -07:00
ehci-ixp4xx.c
ehci-lpm.c USB: Mark EHCI LPM functions as __maybe_unused 2011-02-17 10:47:55 -08:00
ehci-mem.c USB: EHCI: AMD periodic frame list table quirk 2010-11-16 13:36:40 -08:00
ehci-msm.c USB: EHCI: Fix compiler warnings with MSM driver 2011-02-25 11:34:35 -08:00
ehci-mxc.c ARM i.MX ehci: do ehci init in board specific functions 2011-02-11 08:40:45 +01:00
ehci-octeon.c USB: Add EHCI and OHCH glue for OCTEON II SOCs. 2010-10-29 19:08:44 +01:00
ehci-omap.c usb: host: omap: ehci and ohci simplification 2011-03-01 17:02:49 +02:00
ehci-orion.c USB: don't run ehci_reset in ehci_run for tdi device 2011-02-17 10:57:13 -08:00
ehci-pci.c USB host: Move AMD PLL quirk to pci-quirks.c 2011-03-01 16:01:45 -05:00
ehci-pmcmsp.c USB: EHCI bus glue for on-chip PMC MSP USB controller 2011-02-25 11:37:31 -08:00
ehci-ppc-of.c dt/usb: Eliminate users of of_platform_{,un}register_driver 2011-02-28 13:22:45 -07:00
ehci-ps3.c
ehci-q.c USB: EHCI: unlink unused QHs when the controller is stopped 2011-04-13 15:44:02 -07:00
ehci-sched.c USB host: Move AMD PLL quirk to pci-quirks.c 2011-03-01 16:01:45 -05:00
ehci-sh.c usb: ehci-sh: Add missing ehci helpers. 2010-11-26 16:48:31 +09:00
ehci-spear.c USB host: Adding USB ehci & ohci support for spear platform 2010-11-16 13:53:29 -08:00
ehci-tegra.c USB: ehci: tegra: Align DMA transfers to 32 bytes 2011-03-11 14:22:12 -08:00
ehci-vt8500.c usb: Add support for VIA VT8500 and compatibles in EHCI HCD 2010-11-11 06:24:54 -08:00
ehci-w90x900.c usb: Add in missing EHCI helpers. 2010-11-30 16:51:21 -08:00
ehci-xilinx-of.c Merge branch 'devicetree/next' of git://git.secretlab.ca/git/linux-2.6 2011-03-16 17:28:10 -07:00
ehci.h Fix common misspellings 2011-03-31 11:26:23 -03:00
fhci-dbg.c
fhci-hcd.c Fix common misspellings 2011-03-31 11:26:23 -03:00
fhci-hub.c
fhci-mem.c
fhci-q.c
fhci-sched.c
fhci-tds.c Fix common misspellings 2011-03-31 11:26:23 -03:00
fhci.h Fix common misspellings 2011-03-31 11:26:23 -03:00
fsl-mph-dr-of.c USB: ehci-fsl: Fix 'have_sysif_regs' detection 2011-01-22 18:38:58 -08:00
hwa-hc.c
imx21-dbg.c
imx21-hcd.c Fix common misspellings 2011-03-31 11:26:23 -03:00
imx21-hcd.h
isp116x-hcd.c USB 3.0 Hub Changes 2011-03-13 18:07:11 -07:00
isp116x.h Fix common misspellings 2011-03-31 11:26:23 -03:00
isp1362-hcd.c Fix common misspellings 2011-03-31 11:26:23 -03:00
isp1362.h
isp1760-hcd.c USB: isp1760-hcd: move imask clear after pending work is done 2011-04-13 15:57:19 -07:00
isp1760-hcd.h usb/isp1760: Consolidate printouts and remove unused code 2011-02-28 19:23:38 -08:00
isp1760-if.c dt/usb: Eliminate users of of_platform_{,un}register_driver 2011-02-28 13:22:45 -07:00
Kconfig Fix common misspellings 2011-03-31 11:26:23 -03:00
Makefile USB: Add EHCI and OHCH glue for OCTEON II SOCs. 2010-10-29 19:08:44 +01:00
octeon2-common.c USB: Add EHCI and OHCH glue for OCTEON II SOCs. 2010-10-29 19:08:44 +01:00
ohci-at91.c
ohci-au1xxx.c USB: ohci-au1xxx: fix warning "__BIG_ENDIAN" is not defined 2011-04-13 15:44:03 -07:00
ohci-cns3xxx.c USB: cns3xxx: Add EHCI and OHCI bus glue for cns3xxx SOCs 2010-11-29 18:32:47 +03:00
ohci-da8xx.c
ohci-dbg.c
ohci-ep93xx.c
ohci-hcd.c Fix common misspellings 2011-03-31 11:26:23 -03:00
ohci-hub.c USB 3.0 Hub Changes 2011-03-13 18:07:11 -07:00
ohci-jz4740.c USB: ohci-jz4740: Fix spelling in MODULE_ALIAS 2010-11-11 07:14:07 -08:00
ohci-mem.c
ohci-octeon.c USB: Add EHCI and OHCH glue for OCTEON II SOCs. 2010-10-29 19:08:44 +01:00
ohci-omap.c
ohci-omap3.c usb: host: omap: ehci and ohci simplification 2011-03-01 17:02:49 +02:00
ohci-pci.c USB: OHCI: use pci_dev->revision 2011-03-07 12:15:21 -08:00
ohci-pnx4008.c
ohci-pnx8550.c
ohci-ppc-of.c dt/usb: Eliminate users of of_platform_{,un}register_driver 2011-02-28 13:22:45 -07:00
ohci-ppc-soc.c
ohci-ps3.c
ohci-pxa27x.c
ohci-q.c USB host: Move AMD PLL quirk to pci-quirks.c 2011-03-01 16:01:45 -05:00
ohci-s3c2410.c
ohci-sa1111.c
ohci-sh.c usb: ohci-sh: Set IRQ as shared. 2010-11-01 17:01:27 -04:00
ohci-sm501.c
ohci-spear.c USB host: Adding USB ehci & ohci support for spear platform 2010-11-16 13:53:29 -08:00
ohci-ssb.c
ohci-tmio.c tmio: Silence warnings introduced by mfd changes 2011-03-23 10:42:01 +01:00
ohci.h Merge branch 'remove' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-03-16 19:05:40 -07:00
oxu210hp-hcd.c Fix common misspellings 2011-03-31 11:26:23 -03:00
oxu210hp.h
pci-quirks.c USB host: Fix lockdep warning in AMD PLL quirk 2011-04-13 15:44:04 -07:00
pci-quirks.h USB host: Move AMD PLL quirk to pci-quirks.c 2011-03-01 16:01:45 -05:00
r8a66597-hcd.c USB 3.0 Hub Changes 2011-03-13 18:07:11 -07:00
r8a66597.h
sl811-hcd.c USB 3.0 Hub Changes 2011-03-13 18:07:11 -07:00
sl811.h
sl811_cs.c
u132-hcd.c USB 3.0 Hub Changes 2011-03-13 18:07:11 -07:00
uhci-debug.c BKL: remove extraneous #include <smp_lock.h> 2010-11-17 08:59:32 -08:00
uhci-hcd.c usb: host: uhci-hcd.c Remove one to many n's in a word. 2011-02-28 19:19:56 -08:00
uhci-hcd.h
uhci-hub.c
uhci-q.c USB: host: uhci-q: Fixed minor coding style issues 2010-12-10 14:18:36 -08:00
xhci-dbg.c USB: xhci: mark local functions as static 2011-02-22 17:12:58 -08:00
xhci-ext-caps.h xHCI: prolong host controller halt time limit 2011-03-13 18:07:09 -07:00
xhci-hub.c USB: Remove bogus USB_PORT_STAT_SUPER_SPEED symbol. 2011-03-13 18:23:50 -07:00
xhci-mem.c USB: xhci - fix math in xhci_get_endpoint_interval() 2011-04-13 16:19:48 -07:00
xhci-pci.c xhci: Fixes for suspend/resume of shared HCDs. 2011-03-13 18:23:47 -07:00
xhci-ring.c xhci: Fix NULL pointer deref in handle_port_status() 2011-04-13 16:19:49 -07:00
xhci.c Fix common misspellings 2011-03-31 11:26:23 -03:00
xhci.h USB: xhci: unsigned char never equals -1 2011-04-13 16:19:47 -07:00