[U-Boot] [PATCH v4 1/5] usb_kdb: only process events succesfully received
Michal Suchanek
msuchanek at suse.de
Tue Aug 6 17:07:33 UTC 2019
Causes unbound key repeat on error otherwise.
Signed-off-by: Michal Suchanek <msuchanek at suse.de>
---
v2: fix indentation
v4: fix ! condition to >= 0
---
common/usb_kbd.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/common/usb_kbd.c b/common/usb_kbd.c
index cc99c6be0720..5ee6006012f2 100644
--- a/common/usb_kbd.c
+++ b/common/usb_kbd.c
@@ -339,10 +339,9 @@ static inline void usb_kbd_poll_for_event(struct usb_device *dev)
struct usb_kbd_pdata *data = dev->privptr;
/* Submit a interrupt transfer request */
- usb_submit_int_msg(dev, data->intpipe, &data->new[0], data->intpktsize,
- data->intinterval);
-
- usb_kbd_irq_worker(dev);
+ if (usb_submit_int_msg(dev, data->intpipe, &data->new[0],
+ data->intpktsize, data->intinterval) >= 0)
+ usb_kbd_irq_worker(dev);
#elif defined(CONFIG_SYS_USB_EVENT_POLL_VIA_CONTROL_EP) || \
defined(CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE)
#if defined(CONFIG_SYS_USB_EVENT_POLL_VIA_CONTROL_EP)
--
2.22.0
More information about the U-Boot
mailing list