linux/drivers/usb/host
Sarah Sharp f8bbeabc34 xhci: Fix issue with port array setup and buggy hosts.
Fix two bugs with the port array setup.

The first bug will only show up with broken xHCI hosts with Extended
Capabilities registers that have duplicate port speed entries for the same
port.  The idea with the original code was to set the port_array entry to
-1 if the duplicate port speed entry said the port was a different speed
than the original port speed entry.  That would mean that later, the port
would not be exposed to the USB core. Unfortunately, I forgot a continue
statement, and the port_array entry would just be overwritten in the next
line.

The second bug would happen if there are conflicting port speed registers
(so that some entry in port_array is -1), or one of the hardware port
registers was not described in the port speed registers (so that some
entry in port_array is 0).  The code that sets up the usb2_ports array
would accidentally claim those ports.  That wouldn't really cause any
user-visible issues, but it is a bug.

This patch should go into the stable trees that have the port array and
USB 3.0 port disabling prevention patches.

Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Cc: stable@kernel.org
2010-12-09 11:59:42 -08:00
..
whci usb: makefile cleanup 2010-10-22 10:22:07 -07:00
ehci-atmel.c
ehci-au1xxx.c
ehci-dbg.c USB: ehci: fix debugfs 'lpm' permissions 2010-11-15 14:04:14 -08:00
ehci-fsl.c USB: add USB EHCI support for MPC5121 SoC 2010-10-22 10:21:58 -07:00
ehci-fsl.h USB: add USB EHCI support for MPC5121 SoC 2010-10-22 10:21:58 -07:00
ehci-hcd.c USB: EHCI: fix obscure race in ehci_endpoint_disable 2010-11-16 13:36:41 -08:00
ehci-hub.c
ehci-ixp4xx.c
ehci-lpm.c
ehci-mem.c USB: EHCI: AMD periodic frame list table quirk 2010-11-16 13:36:40 -08:00
ehci-mxc.c USB: ehci/mxc: compile fix 2010-11-11 06:56:17 -08: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
ehci-orion.c
ehci-pci.c USB: ehci: disable LPM and PPCD for nVidia MCP89 chips 2010-11-30 10:27:36 -08:00
ehci-ppc-of.c
ehci-ps3.c
ehci-q.c
ehci-sched.c USB: EHCI: AMD periodic frame list table quirk 2010-11-16 13:36:40 -08:00
ehci-w90x900.c
ehci-xilinx-of.c
ehci.h USB: EHCI: AMD periodic frame list table quirk 2010-11-16 13:36:40 -08:00
fhci-dbg.c
fhci-hcd.c
fhci-hub.c
fhci-mem.c
fhci-q.c
fhci-sched.c
fhci-tds.c
fhci.h
fsl-mph-dr-of.c USB: add USB EHCI support for MPC5121 SoC 2010-10-22 10:21:58 -07:00
hwa-hc.c
imx21-dbg.c
imx21-hcd.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-10-24 13:41:39 -07:00
imx21-hcd.h USB: imx21-hcd accept arbitary transfer buffer alignement. 2010-10-22 10:22:03 -07:00
isp116x-hcd.c USB: isp116x-hcd - use resource_size instead of defining its own resource_len macro 2010-10-22 10:22:14 -07:00
isp116x.h
isp1362-hcd.c Merge branch 'usb-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 2010-11-24 08:21:43 +09:00
isp1362.h
isp1760-hcd.c
isp1760-hcd.h
isp1760-if.c
Kconfig USB: Fix FSL USB driver on non Open Firmware systems 2010-11-11 06:55:35 -08: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
ohci-da8xx.c
ohci-dbg.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
ohci-ep93xx.c
ohci-hcd.c USB: Add EHCI and OHCH glue for OCTEON II SOCs. 2010-10-29 19:08:44 +01:00
ohci-hub.c
ohci-jz4740.c USB: ohci-jz4740: Fix spelling in MODULE_ALIAS 2010-11-11 07:14:07 -08:00
ohci-lh7a404.c
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-omap3.c
ohci-omap.c
ohci-pci.c OHCI: work around for nVidia shutdown problem 2010-10-22 10:21:36 -07:00
ohci-pnx4008.c
ohci-pnx8550.c
ohci-ppc-of.c
ohci-ppc-soc.c
ohci-ps3.c
ohci-pxa27x.c ARM: ohci-pxa27x: enable OHCI over U2DC for pxa3xx 2010-10-08 16:21:17 +08:00
ohci-q.c
ohci-s3c2410.c
ohci-sa1111.c
ohci-sh.c USB: ohci-sh - use resource_size instead of defining its own resource_len macro 2010-10-22 10:22:15 -07:00
ohci-sm501.c USB: ohci-sm501: add iounmap on error path 2010-10-22 10:21:35 -07:00
ohci-ssb.c
ohci-tmio.c
ohci.h OHCI: work around for nVidia shutdown problem 2010-10-22 10:21:36 -07:00
oxu210hp-hcd.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-10-24 13:41:39 -07:00
oxu210hp.h
pci-quirks.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-10-24 13:41:39 -07:00
pci-quirks.h
r8a66597-hcd.c
r8a66597.h usb: r8a66597-hcd: Change mistake of the outsw function 2010-10-22 10:22:11 -07:00
sl811_cs.c pcmcia: move driver name to struct pcmcia_driver 2010-09-29 17:20:24 +02:00
sl811-hcd.c
sl811.h
u132-hcd.c
uhci-debug.c BKL: remove extraneous #include <smp_lock.h> 2010-11-17 08:59:32 -08:00
uhci-hcd.c
uhci-hcd.h
uhci-hub.c
uhci-q.c USB: UHCI: add native scatter-gather support(v1) 2010-10-22 10:22:00 -07:00
xhci-dbg.c
xhci-ext-caps.h
xhci-hub.c xhci: Don't let the USB core disable SuperSpeed ports. 2010-11-19 16:23:31 -08:00
xhci-mem.c xhci: Fix issue with port array setup and buggy hosts. 2010-12-09 11:59:42 -08:00
xhci-pci.c USB: xHCI: PCI power management implementation 2010-10-22 10:22:13 -07:00
xhci-ring.c xhci: Remove excessive printks with shared IRQs. 2010-11-11 10:32:32 -08:00
xhci.c xhci: Fix reset-device and configure-endpoint commands 2010-11-19 16:23:07 -08:00
xhci.h xhci: Setup array of USB 2.0 and USB 3.0 ports. 2010-11-19 16:23:18 -08:00