diff options
author | Willem Penninckx <willem.penninckx@cs.kuleuven.be> | 2011-11-23 05:25:34 -0500 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2011-11-23 06:30:25 -0500 |
commit | c196adf87514560f867492978ae350d4bbced0bd (patch) | |
tree | 9087524790420f16ed25c8a5245314d489bfc4af /kernel/elfcore.c | |
parent | f2c4826c685b1ad9afdcef3649e3e60a3348491c (diff) |
HID: usbkbd: synchronize LED URB submission
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>
Diffstat (limited to 'kernel/elfcore.c')
0 files changed, 0 insertions, 0 deletions