Revert "usb: gadget: composite: dequeue cdev->req before free it in composite_dev_cle...
authorFelipe Balbi <balbi@ti.com>
Thu, 18 Sep 2014 14:31:32 +0000 (09:31 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 23 Sep 2014 14:56:21 +0000 (07:56 -0700)
This reverts commit f2267089ea17fa97b796b1b4247e3f8957655df3.

That commit causes more problem than fixes. Firstly, kfree()
should be called after usb_ep_dequeue() and secondly, the way
things are, we will try to dequeue a request that has already
completed much more frequently than one which is pending.

Cc: Li Jun <b47624@freescale.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Cc: stable <stable@vger.kernel.org> # 3.17
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/gadget/composite.c

index e07eddbb3f8c806853cb6150e26b4695fe9ef25a..a8c18df171c34cbcad3e0af3f807c32d5f9546cd 100644 (file)
@@ -1956,7 +1956,6 @@ void composite_dev_cleanup(struct usb_composite_dev *cdev)
        }
        if (cdev->req) {
                kfree(cdev->req->buf);
-               usb_ep_dequeue(cdev->gadget->ep0, cdev->req);
                usb_ep_free_request(cdev->gadget->ep0, cdev->req);
        }
        cdev->next_string_id = 0;