From: Seung-Woo Kim Date: Mon, 4 Jun 2018 06:53:39 +0000 (+0900) Subject: gadget: f_thor: fix hang-up with ctrl-c X-Git-Url: http://git.dujemihanovic.xyz/?a=commitdiff_plain;h=c194bdf226030e45bcb2db3dcbb2d72e5052820a;p=u-boot.git gadget: f_thor: fix hang-up with ctrl-c After the commit 6aae84769a0b ("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 --- diff --git a/drivers/usb/gadget/f_thor.c b/drivers/usb/gadget/f_thor.c index 1aa6be44bb..8b3b19feaf 100644 --- a/drivers/usb/gadget/f_thor.c +++ b/drivers/usb/gadget/f_thor.c @@ -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; }