Re: [PATCH 3/3] usb: gadget: f_midi: free request when usb_ep_queue fails

From: Felipe Balbi
Date: Tue Sep 22 2015 - 17:17:40 EST


On Tue, Sep 22, 2015 at 07:59:10PM +0100, Felipe F. Tonello wrote:
> This fix a memory leak that will occur in this case.
>
> Signed-off-by: Felipe F. Tonello <eu@xxxxxxxxxxxxxxxxx>
> ---
> drivers/usb/gadget/function/f_midi.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/usb/gadget/function/f_midi.c b/drivers/usb/gadget/function/f_midi.c
> index e92aff5..e6a114b 100644
> --- a/drivers/usb/gadget/function/f_midi.c
> +++ b/drivers/usb/gadget/function/f_midi.c
> @@ -550,9 +550,11 @@ static void f_midi_transmit(struct f_midi *midi, struct usb_request *req)
> int err;
>
> err = usb_ep_queue(ep, req, GFP_ATOMIC);
> - if (err < 0)
> + if (err < 0) {
> ERROR(midi, "%s queue req: %d\n",
> midi->in_ep->name, err);
> + free_ep_req(ep, req);

sure this request won't be needed on the next time the tasklet is queued ?

Although, this looks correct, let's try to make sure really is correct.

--
balbi

Attachment: signature.asc
Description: PGP signature