[U-Boot] [PATCH 1/2] usb: gadget: fastboot: Request status and length check in rx handler

Paul Kocialkowski contact at paulk.fr
Tue Jul 14 12:27:16 CEST 2015


Le mardi 14 juillet 2015 à 12:22 +0200, Lukasz Majewski a écrit :
> Hi Paul,
> 
> > This avoids handling requests that have an error status or no data.
> > In particular, this avoids showing unnecessary error messages when
> > the USB gadget gets disconnected (e.g. with fastboot continue) and
> > the fastboot USB gadget driver sends an error back to the host (that
> > has disconnected already).
> > 
> > Signed-off-by: Paul Kocialkowski <contact at paulk.fr>
> > ---
> >  drivers/usb/gadget/f_fastboot.c | 11 ++++++-----
> >  1 file changed, 6 insertions(+), 5 deletions(-)
> > 
> > diff --git a/drivers/usb/gadget/f_fastboot.c
> > b/drivers/usb/gadget/f_fastboot.c index 206b6d1..b9a9099 100644
> > --- a/drivers/usb/gadget/f_fastboot.c
> > +++ b/drivers/usb/gadget/f_fastboot.c
> > @@ -635,6 +635,9 @@ static void rx_handler_command(struct usb_ep *ep,
> > struct usb_request *req) void (*func_cb)(struct usb_ep *ep, struct
> > usb_request *req) = NULL; int i;
> >  
> > +	if (req->status != 0 || req->length == 0)
> > +		return;
> > +
> >  	for (i = 0; i < ARRAY_SIZE(cmd_dispatch_info); i++) {
> >  		if (!strcmp_l1(cmd_dispatch_info[i].cmd, cmdbuf)) {
> >  			func_cb = cmd_dispatch_info[i].cb;
> > @@ -656,9 +659,7 @@ static void rx_handler_command(struct usb_ep *ep,
> > struct usb_request *req) }
> >  	}
> >  
> > -	if (req->status == 0) {
> > -		*cmdbuf = '\0';
> > -		req->actual = 0;
> > -		usb_ep_queue(ep, req, 0);
> > -	}
> > +	*cmdbuf = '\0';
> > +	req->actual = 0;
> > +	usb_ep_queue(ep, req, 0);
> >  }
> 
> Any more comments to those patches? I mean 1/2 and 2/2.

I could test them on OMAP3 and OMAP5 if you'd like. Together with sunxi
(that I developped this on), I think a fair share of platforms using
musb-new would be covered. Testing on am33xx and omap4 would be nice,
too.

-- 
Paul Kocialkowski, Replicant developer

Replicant is a fully free Android distribution running on several
devices, a free software mobile operating system putting the emphasis on
freedom and privacy/security.

Website: http://www.replicant.us/
Blog: http://blog.replicant.us/
Wiki/tracker/forums: http://redmine.replicant.us/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150714/35efec3d/attachment.sig>


More information about the U-Boot mailing list