summaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/uhci-hcd.c
diff options
context:
space:
mode:
authorChristian Lamparter <chunkeey@googlemail.com>2010-08-03 02:32:28 +0200
committerGreg Kroah-Hartman <gregkh@suse.de>2010-08-10 23:35:45 +0200
commitb3e670443b7fb8a2d29831b62b44a039c283e351 (patch)
tree094f9d9449d63acb2eefed77794a27308614c8ed /drivers/usb/host/uhci-hcd.c
parentUSB: usbtest: support test device with only one iso-in or iso-out endpoint (diff)
downloadlinux-b3e670443b7fb8a2d29831b62b44a039c283e351.tar.xz
linux-b3e670443b7fb8a2d29831b62b44a039c283e351.zip
USB: fix thread-unsafe anchor utiliy routines
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: stable <stable@kernel.org> 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>
Diffstat (limited to 'drivers/usb/host/uhci-hcd.c')
0 files changed, 0 insertions, 0 deletions