From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751902AbbJKTSW (ORCPT ); Sun, 11 Oct 2015 15:18:22 -0400 Received: from dehamd003.servertools24.de ([31.47.254.18]:49968 "EHLO dehamd003.servertools24.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751073AbbJKTSV (ORCPT ); Sun, 11 Oct 2015 15:18:21 -0400 X-Greylist: delayed 535 seconds by postgrey-1.27 at vger.kernel.org; Sun, 11 Oct 2015 15:18:21 EDT Subject: Re: [PATCH v3 1/4] usb: gadget: f_midi: free usb request when done To: Felipe Balbi , Felipe Tonello , USB list References: <1443528119-31830-1-git-send-email-eu@felipetonello.com> <56178799.9000409@ladisch.de> <871td3vk14.fsf@saruman.tx.rr.com> Cc: Kernel development list , Peter Chen , Greg Kroah-Hartman , Andrzej Pietrasiewicz From: Clemens Ladisch Message-ID: <561AB3B0.4000609@ladisch.de> Date: Sun, 11 Oct 2015 21:08:32 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <871td3vk14.fsf@saruman.tx.rr.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-PPP-Message-ID: <20151011190923.165967.66860@dehamd003.servertools24.de> X-PPP-Vhost: ladisch.de Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Felipe Balbi wrote: > Clemens Ladisch writes: >> Felipe Tonello wrote: >>> req->actual == req->length means that there is no data left to enqueue, >> >> This condition is not checked in the patch. >> >>> so free the request. >>> >>> Signed-off-by: Felipe F. Tonello >>> --- >>> drivers/usb/gadget/function/f_midi.c | 5 ++--- >>> 1 file changed, 2 insertions(+), 3 deletions(-) >>> diff --git a/drivers/usb/gadget/function/f_midi.c b/drivers/usb/gadget/function/f_midi.c >>> index edb84ca..93212ca 100644 >>> --- a/drivers/usb/gadget/function/f_midi.c >>> +++ b/drivers/usb/gadget/function/f_midi.c >>> @@ -256,9 +256,8 @@ f_midi_complete(struct usb_ep *ep, struct usb_request *req) >>> /* We received stuff. req is queued again, below */ >>> f_midi_handle_out_data(ep, req); >>> } else if (ep == midi->in_ep) { >>> - /* Our transmit completed. See if there's more to go. >>> - * f_midi_transmit eats req, don't queue it again. */ >>> - f_midi_transmit(midi, req); >>> + /* Our transmit completed. Don't queue it again. */ >>> + free_ep_req(ep, req); >>> return; >>> } >>> break; >> >> The ALSA framework will give you a notification _once_. If the >> resulting data is larger than midi->buflen, then you have to continue >> sending packets. This is exactly what the call to f_midi_transmit() >> does. > > so, should I drop this series from my TODO queue ? Yes, this patch needs to be dropped. Regards, Clemens