Searched hist:c196adf87514560f867492978ae350d4bbced0bd (Results 1 – 1 of 1) sorted by relevance
/linux/drivers/hid/usbhid/ |
H A D | usbkbd.c | diff c196adf87514560f867492978ae350d4bbced0bd Wed Nov 23 11:25:34 CET 2011 Willem Penninckx <willem.penninckx@cs.kuleuven.be> 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>
|