Messages in this thread | | | Date | Fri, 18 Sep 2015 18:32:57 +0100 | Subject | Re: [PATCH 3/3] usb: gadget: f_midi: check for error on usb_ep_queue | From | Felipe Tonello <> |
| |
On Fri, Sep 18, 2015 at 6:30 PM, <eu@felipetonello.com> wrote: > 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);
I just realised there is a problem here. It is in_ep in this case. I will fix it in v3.
> + } else { > free_ep_req(ep, req); > + } > } > > static void f_midi_in_tasklet(unsigned long data) > -- > 2.1.4 >
| |