USB: gadget: fix req length in sourcesink_setup()
authorBob Liu <lliubbo@gmail.com>
Thu, 23 Jun 2011 21:09:49 +0000 (17:09 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 1 Jul 2011 21:44:58 +0000 (14:44 -0700)
The recent commit 2edb11cbac fixed req->length in the composite_setup()
function, but that will cause all g_zero tests to fail like:

root#> ./testusb -D /proc/bus/usb/002/021 -t14 -c 15000 -s 256 -v 1
unknown speed   /proc/bus/usb/002/021
/proc/bus/usb/002/021 test 14 --> 32 (Broken pipe)

We need to fix req->length in sourcesink_setup() as well to avoid this.

Signed-off-by: Bob Liu <lliubbo@gmail.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/gadget/f_sourcesink.c

index caf2f95..5a92883 100644 (file)
@@ -437,6 +437,8 @@ static int sourcesink_setup(struct usb_configuration *c,
        u16                     w_value = le16_to_cpu(ctrl->wValue);
        u16                     w_length = le16_to_cpu(ctrl->wLength);
 
+       req->length = USB_BUFSIZ;
+
        /* composite driver infrastructure handles everything except
         * the two control test requests.
         */