summaryrefslogtreecommitdiffstats
path: root/drivers/usb
diff options
context:
space:
mode:
authorFelipe F. Tonello <eu@felipetonello.com>2015-11-10 18:52:06 +0100
committerFelipe Balbi <balbi@ti.com>2015-11-19 21:48:50 +0100
commitad0d1a058eac46503edbc510d1ce44c5df8e0c91 (patch)
tree797ca5e8b8f7baad0c30f4c796b292a441cfb964 /drivers/usb
parentusb: gadget: f_midi: Transmit data only when IN ep is enabled (diff)
downloadlinux-ad0d1a058eac46503edbc510d1ce44c5df8e0c91.tar.xz
linux-ad0d1a058eac46503edbc510d1ce44c5df8e0c91.zip
usb: gadget: f_midi: fix leak on failed to enqueue out requests
This patch fixes a memory leak that occurs when an endpoint fails to enqueue the request. If that happens the complete function will never be called, thus never freeing the request. Signed-off-by: Felipe F. Tonello <eu@felipetonello.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/gadget/function/f_midi.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/usb/gadget/function/f_midi.c b/drivers/usb/gadget/function/f_midi.c
index 7877aa8e2aec..898a570319f1 100644
--- a/drivers/usb/gadget/function/f_midi.c
+++ b/drivers/usb/gadget/function/f_midi.c
@@ -370,6 +370,7 @@ static int f_midi_set_alt(struct usb_function *f, unsigned intf, unsigned alt)
if (err) {
ERROR(midi, "%s queue req: %d\n",
midi->out_ep->name, err);
+ free_ep_req(midi->out_ep, req);
}
}