gadget: f_thor: fix hang-up with ctrl-c

After the commit 6aae84769a ("gadget: f_thor: Fix memory leaks of
usb request and its buffer"), there is hang-up with ctrl-c in some
udc. It is because req of out_ep is freed before out_ep is disabled.
Fix hang-up with ctrl-c by disabling ep before free req of the ep.

Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
This commit is contained in:
Seung-Woo Kim 2018-06-04 15:53:39 +09:00 committed by Marek Vasut
parent b1aad8dbe2
commit c194bdf226

View File

@ -877,14 +877,14 @@ static void thor_func_disable(struct usb_function *f)
/* Avoid freeing memory when ep is still claimed */
if (dev->in_ep->driver_data) {
free_ep_req(dev->in_ep, dev->in_req);
usb_ep_disable(dev->in_ep);
free_ep_req(dev->in_ep, dev->in_req);
dev->in_ep->driver_data = NULL;
}
if (dev->out_ep->driver_data) {
usb_ep_free_request(dev->out_ep, dev->out_req);
usb_ep_disable(dev->out_ep);
usb_ep_free_request(dev->out_ep, dev->out_req);
dev->out_ep->driver_data = NULL;
}