[PATCH v3 5/5] usb_kbd: lock is useless since pollers are atomic
Aleksey Kuleshov
rndfax at yandex.ru
Wed Mar 9 02:17:52 PST 2016
Signed-off-by: Aleksey Kuleshov <rndfax at yandex.ru>
---
drivers/input/usb_kbd.c | 9 +--------
1 file changed, 1 insertion(+), 8 deletions(-)
diff --git a/drivers/input/usb_kbd.c b/drivers/input/usb_kbd.c
index bdaf305..2acc95d 100644
--- a/drivers/input/usb_kbd.c
+++ b/drivers/input/usb_kbd.c
@@ -50,7 +50,6 @@ struct usb_kbd_pdata {
uint8_t old[USB_KBD_BOOT_REPORT_SIZE];
struct poller_async poller;
struct usb_device *usbdev;
- int lock;
unsigned long intpipe;
int intpktsize;
int intinterval;
@@ -98,16 +97,11 @@ static void usb_kbd_poll(void *arg)
struct usb_device *usbdev = data->usbdev;
int ret, i;
- if (data->lock)
- return;
-
- data->lock = 1;
-
ret = data->do_poll(data);
if (ret == -EAGAIN)
goto exit;
if (ret < 0) {
- /* exit and lock forever */
+ /* exit with noreturn */
dev_err(&usbdev->dev,
"usb_submit_int_msg() failed. Keyboard disconnect?\n");
return;
@@ -144,7 +138,6 @@ static void usb_kbd_poll(void *arg)
memcpy(data->old, data->new, USB_KBD_BOOT_REPORT_SIZE);
exit:
- data->lock = 0;
poller_call_async(&data->poller, data->intinterval * MSECOND, usb_kbd_poll, data);
}
--
2.6.2
More information about the barebox
mailing list