mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-30 00:21:06 +00:00
usb: gadget: fastboot: Request status and length check in rx handler
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@paulk.fr>
This commit is contained in:
parent
eca76b7429
commit
94b385fa23
1 changed files with 6 additions and 5 deletions
|
@ -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;
|
void (*func_cb)(struct usb_ep *ep, struct usb_request *req) = NULL;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
if (req->status != 0 || req->length == 0)
|
||||||
|
return;
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_SIZE(cmd_dispatch_info); i++) {
|
for (i = 0; i < ARRAY_SIZE(cmd_dispatch_info); i++) {
|
||||||
if (!strcmp_l1(cmd_dispatch_info[i].cmd, cmdbuf)) {
|
if (!strcmp_l1(cmd_dispatch_info[i].cmd, cmdbuf)) {
|
||||||
func_cb = cmd_dispatch_info[i].cb;
|
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';
|
*cmdbuf = '\0';
|
||||||
req->actual = 0;
|
req->actual = 0;
|
||||||
usb_ep_queue(ep, req, 0);
|
usb_ep_queue(ep, req, 0);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue