This fix a memory leak that will occur in this case.

Signed-off-by: Felipe F. Tonello <e...@felipetonello.com>
---
 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 93212ca..163c0ce 100644
--- a/drivers/usb/gadget/function/f_midi.c
+++ b/drivers/usb/gadget/function/f_midi.c
@@ -546,9 +546,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);
+               }
        } else {
                free_ep_req(ep, req);
        }
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to