Hi Seung-Woo,

> 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 <[email protected]>
> ---
>  drivers/usb/gadget/f_thor.c |    4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/usb/gadget/f_thor.c b/drivers/usb/gadget/f_thor.c
> index 1aa6be4..8b3b19f 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;
>       }
>  

Applied to u-boot-dfu tree.

Thanks for this fix.


Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: [email protected]

Attachment: pgpKoEc_7NjUP.pgp
Description: OpenPGP digital signature

_______________________________________________
U-Boot mailing list
[email protected]
https://lists.denx.de/listinfo/u-boot

Reply via email to