Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1228201
| From | eu@felipetonello.com |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH 3/3] usb: gadget: f_midi: check for error on usb_ep_queue |
| Date | 2015-09-18 19:40 +0200 |
| Message-ID | <qa7NE-Xy-9@gated-at.bofh.it> (permalink) |
| References | <qa7NE-Xy-7@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
From: "Felipe F. Tonello" <eu@felipetonello.com>
f_midi is not checking weather the is an error on usb_ep_queue
request, ignoring potential problems, such as memory leaks.
Signed-off-by: Felipe F. Tonello <eu@felipetonello.com>
---
Changes for v2:
- Update code style.
drivers/usb/gadget/function/f_midi.c | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/drivers/usb/gadget/function/f_midi.c b/drivers/usb/gadget/function/f_midi.c
index ad50a67..c04133422 100644
--- a/drivers/usb/gadget/function/f_midi.c
+++ b/drivers/usb/gadget/function/f_midi.c
@@ -543,10 +543,16 @@ static void f_midi_transmit(struct f_midi *midi, struct usb_request *req)
}
}
- if (req->length > 0)
- usb_ep_queue(ep, req, GFP_ATOMIC);
- else
+ if (req->length > 0) {
+ int err;
+
+ err = usb_ep_queue(ep, req, GFP_ATOMIC);
+ if (err < 0)
+ ERROR(midi, "%s queue req: %d\n",
+ midi->out_ep->name, err);
+ } else {
free_ep_req(ep, req);
+ }
}
static void f_midi_in_tasklet(unsigned long data)
--
2.1.4
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Back to linux.kernel | Previous | Next — Next in thread | Find similar | Unroll thread
[PATCH 3/3] usb: gadget: f_midi: check for error on usb_ep_queue eu@felipetonello.com - 2015-09-18 19:40 +0200 Re: [PATCH 3/3] usb: gadget: f_midi: check for error on usb_ep_queue Felipe Tonello <eu@felipetonello.com> - 2015-09-18 19:40 +0200
csiph-web