]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
usb: gadget: f_midi: fail if set_alt fails to allocate requests
authorFelipe F. Tonello <eu@felipetonello.com>
Tue, 1 Dec 2015 18:31:01 +0000 (18:31 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 25 Aug 2019 08:52:55 +0000 (10:52 +0200)
commit f0f1b8cac4d8d973e95f25d9ea132775fb43c5f4 upstream.

This ensures that the midi function will only work if the proper number of
IN and OUT requrests are allocated. Otherwise the function will work with less
requests then what the user wants.

Signed-off-by: Felipe F. Tonello <eu@felipetonello.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
From: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/gadget/function/f_midi.c

index 5ead414586a1442d70f8349933d0643a11c9b942..89db9cd226653df965cfe84aaa85c655362219ee 100644 (file)
@@ -364,9 +364,10 @@ static int f_midi_set_alt(struct usb_function *f, unsigned intf, unsigned alt)
                req->complete = f_midi_complete;
                err = usb_ep_queue(midi->out_ep, req, GFP_ATOMIC);
                if (err) {
-                       ERROR(midi, "%s queue req: %d\n",
+                       ERROR(midi, "%s: couldn't enqueue request: %d\n",
                                    midi->out_ep->name, err);
                        free_ep_req(midi->out_ep, req);
+                       return err;
                }
        }