diff options
author | Oliver Neukum <oliver@neukum.org> | 2012-04-30 09:13:46 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-05-01 13:22:13 -0400 |
commit | 8815bb09af21316aeb5f8948b24ac62181670db2 (patch) | |
tree | a6667e719e124f06257f1b9cb11abe6bce9295b0 /kernel/timer.c | |
parent | 166cb70e97bd83d7ae9bbec6ae59a178fd9bb823 (diff) | |
download | blackbird-op-linux-8815bb09af21316aeb5f8948b24ac62181670db2.tar.gz blackbird-op-linux-8815bb09af21316aeb5f8948b24ac62181670db2.zip |
usbhid: prevent deadlock during timeout
On some HCDs usb_unlink_urb() can directly call the
completion handler. That limits the spinlocks that can
be taken in the handler to locks not held while calling
usb_unlink_urb()
To prevent a race with resubmission, this patch exposes
usbcore's infrastructure for blocking submission, uses it
and so drops the lock without causing a race in usbhid.
Signed-off-by: Oliver Neukum <oneukum@suse.de>
Acked-by: Jiri Kosina <jkosina@suse.cz>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'kernel/timer.c')
0 files changed, 0 insertions, 0 deletions