[U-Boot] [PATCH 3/8] usb_kdb: only process events succesfully received

Marek Vasut marex at denx.de
Tue Jul 2 11:58:30 UTC 2019


On 7/1/19 5:56 PM, Michal Suchanek wrote:
> Causes unbound key repeat on error otherwise.
> 
> Signed-off-by: Michal Suchanek <msuchanek at suse.de>
> ---
>  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..948f9fd68490 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],

Shouldn't you propagate return value from this function ? It can return
ENOTSUPP.

> +					 data->intpktsize, data->intinterval))
> +			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)
> 


-- 
Best regards,
Marek Vasut


More information about the U-Boot mailing list