From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753939AbbIRRgd (ORCPT ); Fri, 18 Sep 2015 13:36:33 -0400 Received: from mail-wi0-f182.google.com ([209.85.212.182]:35960 "EHLO mail-wi0-f182.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751596AbbIRRgc (ORCPT ); Fri, 18 Sep 2015 13:36:32 -0400 From: eu@felipetonello.com To: linux-usb@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Peter Chen , Greg Kroah-Hartman , Felipe Balbi , Andrzej Pietrasiewicz , "Felipe F. Tonello" Subject: [PATCH 3/3] usb: gadget: f_midi: check for error on usb_ep_queue Date: Fri, 18 Sep 2015 18:36:28 +0100 Message-Id: <1442597788-4306-1-git-send-email-eu@felipetonello.com> X-Mailer: git-send-email 2.1.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: "Felipe F. Tonello" f_midi is not checking whether there is an error on usb_ep_queue request, ignoring potential problems, such as memory leaks. Signed-off-by: Felipe F. Tonello --- Changes for v2: - Update code style. Changes for v3: - Use ip_ep instead of out_ep. Fixed typo in commit message. 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..edb84ca 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->in_ep->name, err); + } else { free_ep_req(ep, req); + } } static void f_midi_in_tasklet(unsigned long data) -- 2.1.4