mirror of
https://github.com/torvalds/linux
synced 2024-11-05 18:23:50 +00:00
c196adf875
usb_kbd_event() and usb_kbd_led() can be called concurrently, but they are not synchronized. They both readwrite kbd->leds, and usb_kbd_event() originally just checked the URB status field, while urb.h states that "It [status field] should not be examined before the URB is returned to the completion handler." To fix this unsynchronized behavior, this patch introduces a boolean representing whether the URB is submitted, and a spinlock. Signed-off-by: Willem Penninckx <willem.penninckx@cs.kuleuven.be> Signed-off-by: Jiri Kosina <jkosina@suse.cz> |
||
---|---|---|
.. | ||
hid-core.c | ||
hid-pidff.c | ||
hid-quirks.c | ||
hiddev.c | ||
Kconfig | ||
Makefile | ||
usbhid.h | ||
usbkbd.c | ||
usbmouse.c |