Sarah Sharp
06df572909
USB: xhci: Fix command completion after a drop endpoint.
...
The xHCI driver issues a Configure Endpoint command for two reasons:
- a new configuration or alternate interface setting is selected
- a quirky Fresco Logic prototype requires the command after a Reset
Endpoint command.
The xHCI driver only waits on the command in the first case.
When a configure endpoint command completes, the driver needs to know why
the command was generated. When the driver only supported selecting an
initial configuration, the check was simple. Unfortunately that check
doesn't work now that the driver supports alternate interfaces. If an
endpoint must be dropped (because it's not in the new alternate setting)
and no new endpoints are added, the math involving
xhci_last_valid_endpoint() will assign -1 to an unsigned integer and cause
an out-of-bounds array access.
Move the check for the quirky hardware sooner and avoid the bad array
access.
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 11:55:27 -08:00
..
accessibility
acpi
Merge branch 'acpica' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6
2009-12-09 19:57:06 -08:00
amba
ata
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2009-12-09 19:43:33 -08:00
atm
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2009-12-09 19:43:33 -08:00
auxdisplay
base
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2009-12-09 19:43:33 -08:00
block
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2009-12-09 19:43:33 -08:00
bluetooth
USB: remove the auto_pm flag
2009-12-11 11:55:21 -08:00
cdrom
Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6
2009-12-09 19:03:16 -08:00
char
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
2009-12-09 19:52:01 -08:00
clocksource
connector
cpufreq
cpuidle
crypto
Merge branch 'for-next' into for-linus
2009-12-07 18:36:35 +01:00
dca
dio
m68k: don't export static inline functions
2009-12-06 11:18:28 +01:00
dma
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2009-12-09 19:43:33 -08:00
edac
Merge branch 'perf/mce' into perf/core
2009-12-03 20:11:06 +01:00
eisa
firewire
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2009-12-09 19:43:33 -08:00
firmware
DMI: allow omitting ident strings in DMI tables
2009-12-04 22:10:59 -08:00
gpio
gpio: Langwell GPIO driver bugfixes
2009-12-01 16:32:19 -08:00
gpu
Merge branch 'acpica' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6
2009-12-09 19:57:06 -08:00
hid
USB: remove the auto_pm flag
2009-12-11 11:55:21 -08:00
hwmon
Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging
2009-12-09 19:53:11 -08:00
i2c
Merge branch 'acpica' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6
2009-12-09 19:57:06 -08:00
ide
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-next-2.6
2009-12-09 19:45:38 -08:00
idle
ieee1394
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2009-12-09 19:43:33 -08:00
ieee802154
ieee802154: merge cleanup
2009-12-02 01:13:11 -08:00
infiniband
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2009-12-09 19:43:33 -08:00
input
Merge branch 'xen/fbdev' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen
2009-12-10 09:34:40 -08:00
isdn
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2009-12-09 19:43:33 -08:00
leds
Merge branch 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6
2009-12-08 08:15:29 -08:00
lguest
macintosh
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2009-12-09 19:43:33 -08:00
mca
md
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2009-12-09 19:43:33 -08:00
media
V4L/DVB (13592): max2165: 32bit build patch
2009-12-10 12:45:18 -02:00
memstick
message
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2009-12-09 19:43:33 -08:00
mfd
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
2009-12-09 19:52:01 -08:00
misc
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2009-12-09 19:43:33 -08:00
mmc
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2009-12-09 19:43:33 -08:00
mtd
Merge git://git.infradead.org/ubifs-2.6
2009-12-10 09:31:45 -08:00
net
USB: remove the auto_pm flag
2009-12-11 11:55:21 -08:00
nubus
of
oprofile
parisc
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2009-12-09 19:43:33 -08:00
parport
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k
2009-12-08 08:13:35 -08:00
pci
Merge branch 'acpica' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6
2009-12-09 19:57:06 -08:00
pcmcia
Merge branch 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6
2009-12-08 08:15:29 -08:00
platform
Merge branch 'acpica' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6
2009-12-09 19:57:06 -08:00
pnp
tree-wide: fix assorted typos all over the place
2009-12-04 15:39:55 +01:00
power
pps
ps3
tree-wide: fix assorted typos all over the place
2009-12-04 15:39:55 +01:00
rapidio
regulator
regulator: Initialise wm831x structure pointor for ISINK driver
2009-12-02 19:37:16 +00:00
rtc
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2009-12-09 19:43:33 -08:00
s390
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2009-12-09 19:43:33 -08:00
sbus
tree-wide: fix assorted typos all over the place
2009-12-04 15:39:55 +01:00
scsi
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2009-12-09 19:43:33 -08:00
serial
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2009-12-09 19:43:33 -08:00
sfi
sh
sn
spi
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2009-12-09 19:43:33 -08:00
ssb
Merge branch 'master' of /home/davem/src/GIT/linux-2.6/
2009-12-05 15:22:26 -08:00
staging
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6
2009-12-09 19:50:49 -08:00
tc
telephony
Merge branch 'for-next' into for-linus
2009-12-07 18:36:35 +01:00
thermal
uio
usb
USB: xhci: Fix command completion after a drop endpoint.
2009-12-11 11:55:27 -08:00
uwb
tree-wide: fix assorted typos all over the place
2009-12-04 15:39:55 +01:00
video
Merge branch 'xen/fbdev' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen
2009-12-10 09:34:40 -08:00
virtio
vlynq
w1
watchdog
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2009-12-09 19:43:33 -08:00
xen
Merge branch 'bugfix' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen
2009-12-10 09:35:02 -08:00
zorro
m68k: don't export static inline functions
2009-12-06 11:18:28 +01:00
Kconfig
Makefile