]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - releases/3.4.75/usb-gadget-composite-reset-delayed_status-on-reset_config.patch
Linux 4.14.95
[thirdparty/kernel/stable-queue.git] / releases / 3.4.75 / usb-gadget-composite-reset-delayed_status-on-reset_config.patch
1 From 2bac51a1827a18821150ed8c9f9752c02f9c2b02 Mon Sep 17 00:00:00 2001
2 From: Michael Grzeschik <m.grzeschik@pengutronix.de>
3 Date: Mon, 11 Nov 2013 23:43:32 +0100
4 Subject: usb: gadget: composite: reset delayed_status on reset_config
5
6 From: Michael Grzeschik <m.grzeschik@pengutronix.de>
7
8 commit 2bac51a1827a18821150ed8c9f9752c02f9c2b02 upstream.
9
10 The delayed_status value is used to keep track of status response
11 packets on ep0. It needs to be reset or the set_config function would
12 still delay the answer, if the usb device got unplugged while waiting
13 for setup_continue to be called.
14
15 Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
16 Signed-off-by: Felipe Balbi <balbi@ti.com>
17 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
18
19 ---
20 drivers/usb/gadget/composite.c | 1 +
21 1 file changed, 1 insertion(+)
22
23 --- a/drivers/usb/gadget/composite.c
24 +++ b/drivers/usb/gadget/composite.c
25 @@ -584,6 +584,7 @@ static void reset_config(struct usb_comp
26 bitmap_zero(f->endpoints, 32);
27 }
28 cdev->config = NULL;
29 + cdev->delayed_status = 0;
30 }
31
32 static int set_config(struct usb_composite_dev *cdev,