]> git.hungrycats.org Git - linux/commitdiff
usb: gadget: composite: reset delayed_status on reset_config
authorMichael Grzeschik <m.grzeschik@pengutronix.de>
Mon, 11 Nov 2013 22:43:32 +0000 (23:43 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 20 Dec 2013 15:34:20 +0000 (07:34 -0800)
commit 2bac51a1827a18821150ed8c9f9752c02f9c2b02 upstream.

The delayed_status value is used to keep track of status response
packets on ep0. It needs to be reset or the set_config function would
still delay the answer, if the usb device got unplugged while waiting
for setup_continue to be called.

Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/gadget/composite.c

index baaebf2830fce882022801f7a492a01c4b9f4c79..f28b6de05f9063d1d16567e42f504159794d4bdb 100644 (file)
@@ -584,6 +584,7 @@ static void reset_config(struct usb_composite_dev *cdev)
                bitmap_zero(f->endpoints, 32);
        }
        cdev->config = NULL;
+       cdev->delayed_status = 0;
 }
 
 static int set_config(struct usb_composite_dev *cdev,