linux/drivers
Alan Stern ba297edde4 USB: UHCI: acquire spinlock before calling start_rh()
This patch (as1392) fixes a bug in uhci-hcd: The start_rh() routine is
supposed to be called with the private spinlock held.  If an IRQ comes
in at just the wrong time, the driver will think the controller has
died when in fact it simply hasn't start yet.

The patch also addresses some issues that may prevent an URB from
being unlinked after the controller has stopped.  This is an abnormal
occurrence (ordinarily the controller stops only when the entire bus
is suspended and hence there are no active URBs), so the pathways
haven't gotten much testing.  These two changes may be a little more
than is strictly necessary, but clearly they won't hurt.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-08-10 14:35:33 -07:00
..
accessibility
acpi Merge branch 'acpica' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2010-08-07 17:08:30 -07:00
amba ARM: AMBA: Add pclk support to AMBA bus infrastructure 2010-07-31 13:07:27 +01:00
ata Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq 2010-08-07 12:42:58 -07:00
atm Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2010-08-09 21:05:52 -07:00
auxdisplay
base drivers/base/node.c: reduce stack usage of node_read_meminfo() 2010-08-09 20:45:02 -07:00
block Merge branch 'virtio' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus 2010-08-05 13:49:37 -07:00
bluetooth Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 2010-08-06 12:25:06 -07:00
cdrom
char Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2010-08-09 21:05:52 -07:00
clocksource
connector
cpufreq [CPUFREQ] fix brace coding style issue. 2010-08-03 13:47:05 -04:00
cpuidle cpuidle: extend cpuidle and menu governor to handle dynamic states 2010-08-09 20:45:04 -07:00
crypto Merge branch 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6 2010-08-05 15:57:35 -07:00
dca
dio
dma Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2010-08-09 21:00:07 -07:00
edac amd64_edac: Minor formatting fix 2010-08-04 11:16:01 +02:00
eisa
firewire Merge firewire branches to be released post v2.6.35 2010-08-02 10:09:04 +02:00
firmware edd: fix possible memory leak in edd_init() error path 2010-08-09 20:45:09 -07:00
gpio Merge branch 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6 2010-08-05 15:57:35 -07:00
gpu drm: fix fallouts from slow-work -> wq conversion 2010-08-09 12:18:44 +02:00
hid Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid 2010-08-04 15:23:49 -07:00
hwmon hwmon: f71882fg: add support for the Fintek F71808E 2010-08-09 20:45:10 -07:00
i2c Merge branch 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6 2010-08-05 15:57:35 -07:00
ide tx493xide: use min_t() macro instead of min() 2010-08-09 03:17:55 -07:00
idle Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq 2010-08-04 11:13:36 -07:00
ieee1394 Merge firewire branches to be released post v2.6.35 2010-08-02 10:09:04 +02:00
ieee802154
infiniband Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband 2010-08-07 17:08:02 -07:00
input Revert "Input: appletouch - fix integer overflow issue" 2010-08-09 13:48:08 +10:00
isdn Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2010-08-09 21:05:52 -07:00
leds leds: Remove owner field from attribute initialization in bd2802 driver 2010-08-05 13:53:35 -07:00
lguest
macintosh Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-08-06 13:25:43 -07:00
mca
md
media Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 2010-08-07 17:09:24 -07:00
memstick
message Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-08-04 15:31:02 -07:00
mfd
misc hmc6352: add driver for the HMC6352 compass 2010-08-09 20:45:10 -07:00
mmc Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 2010-08-06 12:25:06 -07:00
mtd Merge git://git.infradead.org/mtd-2.6 2010-08-10 11:49:21 -07:00
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2010-08-09 21:05:52 -07:00
nubus
of of/platform: Register of_platform_drivers with an "of:" prefix 2010-08-01 01:44:18 -06:00
oprofile
parisc Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-08-04 15:31:02 -07:00
parport Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 2010-08-06 12:25:06 -07:00
pci Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2010-08-09 21:00:07 -07:00
pcmcia Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 2010-08-06 12:25:06 -07:00
platform ips driver: make it less chatty 2010-08-03 11:55:15 -04:00
pnp
power POWER: Add JZ4740 battery driver. 2010-08-05 13:26:20 +01:00
pps
ps3
rapidio
regulator regulator: Remove owner field from attribute initialization in regulator core driver 2010-08-05 13:53:35 -07:00
rtc Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/upstream-linus 2010-08-05 08:53:20 -07:00
s390 s390: remove WARN_ON for misc_deregister() failures 2010-08-09 20:45:06 -07:00
sbus Merge branch 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6 2010-08-05 15:57:35 -07:00
scsi Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 2010-08-06 12:25:06 -07:00
serial Merge branch 'rs485fix' of git://www.jni.nu/cris 2010-08-09 21:04:23 -07:00
sfi
sh
sn
spi of/address: Clean up function declarations 2010-08-01 01:42:42 -06:00
ssb Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 2010-08-06 12:25:06 -07:00
staging Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 2010-08-10 11:26:52 -07:00
tc
telephony pcmcia: do not use io_req_t when calling pcmcia_request_io() 2010-08-03 09:04:11 +02:00
thermal
uio uio: Remove IRQF_DISABLED flag from uio_cif.c 2010-08-05 13:53:33 -07:00
usb USB: UHCI: acquire spinlock before calling start_rh() 2010-08-10 14:35:33 -07:00
uwb
vhost Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 2010-08-04 11:47:58 -07:00
video drivers/video/w100fb.c: ignore void return value / fix build failure 2010-08-09 20:44:53 -07:00
virtio
vlynq
w1
watchdog Merge branch 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6 2010-08-05 15:57:35 -07:00
xen Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-08-06 13:25:43 -07:00
zorro
Kconfig
Makefile