summaryrefslogtreecommitdiff
path: root/drivers/usb/gadget
diff options
context:
space:
mode:
authorFelipe F. Tonello <eu@felipetonello.com>2015-12-01 18:31:01 +0000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-08-25 10:52:55 +0200
commit4ccd0644719f1929c5ae6deba69e0e2da9c3dc56 (patch)
tree9a15d108fb2c0a62f23cf0a73b3b2cb4681b4b6c /drivers/usb/gadget
parent52a95925a0cb9adeb99fb8b25fd9a8b5f1080c8c (diff)
usb: gadget: f_midi: fail if set_alt fails to allocate requests
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>
Diffstat (limited to 'drivers/usb/gadget')
-rw-r--r--drivers/usb/gadget/function/f_midi.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/usb/gadget/function/f_midi.c b/drivers/usb/gadget/function/f_midi.c
index 5ead414586a1..89db9cd22665 100644
--- a/drivers/usb/gadget/function/f_midi.c
+++ b/drivers/usb/gadget/function/f_midi.c
@@ -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;
}
}