Re: [PATCH] usb: gadget: dwc2: fix memory leak in gadget_init()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Grigor,

> Grigor Tovmasyan <Grigor.Tovmasyan@xxxxxxxxxxxx> hat am 24. Mai 2018 um 16:22 geschrieben:
> 
> 
> Freed allocated request for ep0 to prevent memory leak in case when
> dwc2_driver_probe() failed.
> 
> Signed-off-by: Grigor Tovmasyan <tovmasya@xxxxxxxxxxxx>
> Cc: Stefan Wahren <stefan.wahren@xxxxxxxx>
> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>

currently i don't much time, but at least my tests with Raspberry Pi Zero W were successful.

Tested-by: Stefan Wahren <stefan.wahren@xxxxxxxx>

It would be nice if you can setup some real testing devices at Synopsys in order to identify such regressions faster. kernelci.org only tests the host role of the Raspberry Pi.

Thanks
Stefan

> ---
>  drivers/usb/dwc2/gadget.c | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/usb/dwc2/gadget.c b/drivers/usb/dwc2/gadget.c
> index f0d9ccf1d665..7ccf56da1e50 100644
> --- a/drivers/usb/dwc2/gadget.c
> +++ b/drivers/usb/dwc2/gadget.c
> @@ -4739,9 +4739,11 @@ int dwc2_gadget_init(struct dwc2_hsotg *hsotg)
>  	}
>  
>  	ret = usb_add_gadget_udc(dev, &hsotg->gadget);
> -	if (ret)
> +	if (ret) {
> +		dwc2_hsotg_ep_free_request(&hsotg->eps_out[0]->ep,
> +					   hsotg->ctrl_req);
>  		return ret;
> -
> +	}
>  	dwc2_hsotg_dump(hsotg);
>  
>  	return 0;
> @@ -4755,6 +4757,7 @@ int dwc2_gadget_init(struct dwc2_hsotg *hsotg)
>  int dwc2_hsotg_remove(struct dwc2_hsotg *hsotg)
>  {
>  	usb_del_gadget_udc(&hsotg->gadget);
> +	dwc2_hsotg_ep_free_request(&hsotg->eps_out[0]->ep, hsotg->ctrl_req);
>  
>  	return 0;
>  }
> -- 
> 2.11.0
>
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux