linux-uconsole/drivers
Christian Lamparter 8ea208e908 USB: fix thread-unsafe anchor utiliy routines
commit b3e670443b upstream.

This patch fixes a race condition in two utility routines
related to the removal/unlinking of urbs from an anchor.

If two threads are concurrently accessing the same anchor,
both could end up with the same urb - thinking they are
the exclusive owner.

Alan Stern pointed out a related issue in
usb_unlink_anchored_urbs:

"The URB isn't removed from the anchor until it completes
 (as a by-product of completion, in fact), which might not
 be for quite some time after the unlink call returns.
 In the meantime, the subroutine will keep trying to unlink
 it, over and over again."

Cc: Oliver Neukum <oneukum@suse.de>
Cc: Greg Kroah-Hartman <greg@kroah.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-08-13 13:19:46 -07:00
..
accessibility
acpi ACPI: Unconditionally set SCI_EN on resume 2010-08-02 10:21:25 -07:00
amba
ata ata_piix: fix locking around SIDPR access 2010-08-13 13:19:30 -07:00
atm solos-pci: Fix race condition in tasklet RX handling 2010-08-13 13:19:34 -07:00
auxdisplay
base firmware_class: fix memory leak - free allocated pages 2010-08-02 10:21:25 -07:00
block cciss: Make cciss_seq_show handle holes in the h->drv[] array 2010-02-23 07:37:49 -08:00
bluetooth Bluetooth: Prevent ill-timed autosuspend in USB driver 2010-01-06 15:03:43 -08:00
cdrom
char nvram: Fix write beyond end condition; prove to gcc copy is safe 2010-08-13 13:19:31 -07:00
clocksource clocksource: sh_cmt: compute mult and shift before registration 2010-07-05 11:11:02 -07:00
connector connector: Delete buggy notification code. 2010-02-09 04:50:59 -08:00
cpufreq revert "[CPUFREQ] remove rwsem lock from CPUFREQ_GOV_STOP call (second call site)" 2010-08-02 10:21:25 -07:00
cpuidle cpuidle: Fix incorrect optimization 2010-05-12 14:57:16 -07:00
crypto crypto: padlock-sha - Add import/export support 2010-02-23 07:37:54 -08:00
dca
dio
dma ioat: fix infinite timeout checking in ioat2_quiesce 2010-02-23 07:37:49 -08:00
edac amd64_edac: Correct scrub rate setting 2010-08-10 10:20:38 -07:00
eisa
firewire firewire: core: check for 1394a compliant IRM, fix inaccessibility of Sony camcorder 2010-07-05 11:11:04 -07:00
firmware DMI: allow omitting ident strings in DMI tables 2010-01-28 15:01:52 -08:00
gpio gpiolib: Actually set output state in wm831x_gpio_direction_output() 2010-03-15 08:49:57 -07:00
gpu drm/i915: parse child device from VBT 2010-08-10 10:20:48 -07:00
hid HID: Add the GYR4101US USB ID to hid-gyration 2010-07-05 11:10:33 -07:00
hwmon hwmon: (it87) Fix in7 on IT8720F 2010-08-02 10:20:43 -07:00
i2c i2c: Fix probing of FSC hardware monitoring chips 2010-05-12 14:57:04 -07:00
ide ide-cd: Do not access completed requests in the irq handler 2010-08-13 13:19:36 -07:00
idle
ieee1394
ieee802154 ieee802154: dont leak skbs in ieee802154_fake_xmit() 2009-11-19 13:16:21 -08:00
infiniband IPoIB: Fix world-writable child interface control sysfs attributes 2010-08-02 10:20:54 -07:00
input Input: twl40300-keypad - fix handling of "all ground" rows 2010-08-02 10:20:55 -07:00
isdn gigaset: prune use of tty_buffer_request_room 2010-04-01 15:58:24 -07:00
leds leds-gpio: fix default state handling on OF platforms 2010-04-01 15:58:53 -07:00
lguest lguest: fix bug in setting guest GDT entry 2010-01-06 15:05:19 -08:00
macintosh macintosh/therm_adt746x: Fix sysfs attributes lifetime 2010-03-15 08:49:46 -07:00
mca
md md/raid10: fix deadlock with unaligned read during resync 2010-08-13 13:19:36 -07:00
media V4L/DVB (13830): uvcvideo: add another YUYV format GUID for iSight cameras 2010-08-02 10:21:30 -07:00
memstick
message mptspi: Fix for incorrect data underrun errata 2010-04-26 07:41:36 -07:00
mfd mfd: WM835x GPIO direction register is not locked 2010-01-22 15:18:18 -08:00
misc SCSI: enclosure: fix error path - actually return ERR_PTR() on error 2010-08-10 10:20:44 -07:00
mmc sdhci-s3c: add missing remove function 2010-08-02 10:20:53 -07:00
mtd UBI: fix volume creation input checking 2010-02-09 04:50:45 -08:00
net smsc911x: Add spinlocks around registers access 2010-08-13 13:19:39 -07:00
nubus
of
oprofile oprofile: remove double ring buffering 2010-07-05 11:10:27 -07:00
parisc PARISC: led.c - fix potential stack overflow in led_proc_write() 2010-08-10 10:20:37 -07:00
parport
pci PCI: disable MSI on VIA K8M800 2010-08-13 13:19:34 -07:00
pcmcia PCI/cardbus: Add a fixup hook and fix powerpc 2010-01-22 15:18:26 -08:00
platform eeepc-laptop: check wireless hotplug events 2010-08-02 10:21:29 -07:00
pnp
power
pps pps: events reporting fix up 2009-11-12 07:26:01 -08:00
ps3
rapidio
regulator regulator: Fix display of null constraints for regulators 2010-02-23 07:37:49 -08:00
rtc rtc: fix ds1388 time corruption 2010-08-02 10:20:53 -07:00
s390 dasd: remove strings from s390dbf 2010-02-23 07:37:54 -08:00
sbus
scsi SCSI: aacraid: Eliminate use after free 2010-08-02 10:20:50 -07:00
serial serial: cpm_uart: implement the cpm_uart_early_write() function for console poll 2010-08-02 10:20:52 -07:00
sfi
sh
sn
spi SPI: spi_txx9: Fix bit rate calculation 2009-12-02 23:58:32 +00:00
ssb ssb: Handle alternate SSPROM location 2010-08-10 10:20:51 -07:00
staging Staging: panel: Prevent double-calling of parport_release - fix oops. 2010-08-13 13:19:33 -07:00
tc
telephony
thermal acpi: thermal: Add EOL to the trip_point_N_type strings 2009-11-05 17:33:24 -05:00
uio uio: pm_runtime_disable is needed if failed 2009-11-13 11:36:00 +09:00
usb USB: fix thread-unsafe anchor utiliy routines 2010-08-13 13:19:46 -07:00
uwb
video drivers/video/w100fb.c: ignore void return value / fix build failure 2010-08-13 13:19:35 -07:00
virtio virtio-pci: disable msi at startup 2010-08-02 10:20:42 -07:00
vlynq
w1 w1: w1 temp: fix negative termperature calculation 2010-05-12 14:57:00 -07:00
watchdog WATCHDOG: iTCO_wdt: TCO Watchdog patch for additional Intel Cougar Point DeviceIDs 2010-04-26 07:41:18 -07:00
xen xen: avoid allocation causing potential swap activity on the resume path 2010-07-05 11:10:59 -07:00
zorro
Kconfig
Makefile virtio: initialize earlier 2010-05-12 14:57:15 -07:00