1 From bf17eba7ae1e813b0ad67cb1078dcbd7083b906e Mon Sep 17 00:00:00 2001
2 From: Felipe Balbi <balbi@ti.com>
3 Date: Thu, 18 Sep 2014 09:31:32 -0500
4 Subject: Revert "usb: gadget: composite: dequeue cdev->req before free it in composite_dev_cleanup"
6 From: Felipe Balbi <balbi@ti.com>
8 commit bf17eba7ae1e813b0ad67cb1078dcbd7083b906e upstream.
10 This reverts commit f2267089ea17fa97b796b1b4247e3f8957655df3.
12 That commit causes more problem than fixes. Firstly, kfree()
13 should be called after usb_ep_dequeue() and secondly, the way
14 things are, we will try to dequeue a request that has already
15 completed much more frequently than one which is pending.
17 Cc: Li Jun <b47624@freescale.com>
18 Signed-off-by: Felipe Balbi <balbi@ti.com>
19 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
21 diff --git a/drivers/usb/gadget/composite.c b/drivers/usb/gadget/composite.c
22 index e07eddbb3f8c..a8c18df171c3 100644
23 --- a/drivers/usb/gadget/composite.c
24 +++ b/drivers/usb/gadget/composite.c
25 @@ -1956,7 +1956,6 @@ void composite_dev_cleanup(struct usb_composite_dev *cdev)
28 kfree(cdev->req->buf);
29 - usb_ep_dequeue(cdev->gadget->ep0, cdev->req);
30 usb_ep_free_request(cdev->gadget->ep0, cdev->req);
32 cdev->next_string_id = 0;