[U-Boot] [PATCH v3 1/7] usb_kdb: only process events succesfully received

Michal Suchánek msuchanek at suse.de
Wed Jul 10 15:47:53 UTC 2019


On Fri, 5 Jul 2019 14:12:36 +0200
Marek Vasut <marex at denx.de> wrote:

> On 7/5/19 12:44 PM, Michal Suchanek wrote:
> > Causes unbound key repeat on error otherwise.
> > 
> > Signed-off-by: Michal Suchanek <msuchanek at suse.de>
> > ---
> > v2: fix indentation  
> 
> What changed in V3 ?
> 
> > ---
> >  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..fc9419e0238a 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))  
> 
> This still doesn't propagate errors.

Yes, it does not. I don't have a grand design that would make use of
these propagated errors so I don't know what errors to propagate.

You could, say, want to propagate errors from kbd_irq_worker as well.

Until there is a way to make use of the errors you really don't know.

Might be good idea to document that getting EAGAIN from
usb_int_msg_nonblock is expected.

Thanks

Michal


More information about the U-Boot mailing list