From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1760090AbbIWDKz (ORCPT ); Tue, 22 Sep 2015 23:10:55 -0400 Received: from mail-by2on0119.outbound.protection.outlook.com ([207.46.100.119]:46144 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752707AbbIWDKx (ORCPT ); Tue, 22 Sep 2015 23:10:53 -0400 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=freescale.com; samsung.com; dkim=none (message not signed) header.d=none;samsung.com; dmarc=none action=none header.from=freescale.com; Date: Wed, 23 Sep 2015 11:10:40 +0800 From: Peter Chen To: "Felipe F. Tonello" CC: , , "Greg Kroah-Hartman" , Felipe Balbi , Andrzej Pietrasiewicz Subject: Re: [PATCH 2/3] usb: gadget: f_midi: free usb request when done Message-ID: <20150923031039.GC10160@shlinux2> References: <1442948350-31702-1-git-send-email-eu@felipetonello.com> <1442948350-31702-2-git-send-email-eu@felipetonello.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <1442948350-31702-2-git-send-email-eu@felipetonello.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BN1AFFO11FD023;1:IpQVcJXQQMluk2PJoWTUyqQzwLb2I6HMCvLaA9nWNRolXcCdwaYdR14MNe54siNNdxkDeyaknmW8quWvLPyM8HitA/q6p5iLivyDhwh1cFjus58kvs5DrkVR8iCBZbhr3LAUK0ZLfcnAwC4ygHEexOAVnnUoo1+ofQFM+TkeuDuvBz5mjmlzgV7a2/WwyM/fVDFJtioP+HByfCgYFwrANEsLGMuV3pHHsybbXnlUY2YDJrPtB2dJfdRZjj/Dr79DtwTcBeplQxjxVz2EOVvnWe4lF6M9NblrJ4hauDC7+mLppyGCCiiXjn0O3TOSW6fSgmtQbxgiqMnOnZzNbegVwS4oVCUSMfG83xR1VCTe+dSwONGHdC5T1qxfmd2auWYE X-Forefront-Antispam-Report: CIP:192.88.168.50;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(2980300002)(1110001)(1109001)(339900001)(189002)(24454002)(199003)(105606002)(64706001)(4001540100001)(33656002)(46102003)(97736004)(81156007)(2950100001)(97756001)(4001350100001)(68736005)(50466002)(77096005)(5007970100001)(23726002)(19580395003)(92566002)(76176999)(85426001)(54356999)(46406003)(77156002)(47776003)(87936001)(5001860100001)(5001920100001)(86362001)(110136002)(50986999)(5001830100001)(19580405001)(83506001)(11100500001)(33716001)(62966003)(189998001)(106466001)(6806005)(104016004)(5001960100002);DIR:OUT;SFP:1102;SCL:1;SRVR:DM2PR03MB495;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;DM2PR03MB495;2:8JV+BUqciuqvhVUjC4Grkmpzx0R6rNZRTXb4ZTV+dUMrwZak7UcX+IKXC8tuz6g/oMwuCgqhON1J0k6Rg0BMO9psg6OpzWrDcVraN3VWqelqU81xY5htkBTwVkaTqs8MdirL52eYIsmovp0cV8QfVQfudHRCxxCFpl37iy4wR00=;3:fXVOKzq1iGYFJRVwk8+7YokoN9Q90S5RqGXKltesMIno96QFtTe74LQ93r+tXrykRv3j21TtAQCviOjTnG/4oTh735DAewr0TwQ99kdjI+IzUd8OpMMbGCW0X7oLo4vS34G8tWfyPrS2Nw9DXwiNNGNCnzOU3J8Zu4DpwasPnOLc9czTLycKCkjh/tnU9eMFbB2H9h9yvZSQbY0rzSuHjbpK0FvVD5fGiWhDBaoj9L0=;25:qFpRGFfZmgOrXbykYyhiPAfKTcsyGCyLcBt3pfAs83qTyRrKPCarCvdAHPfFOEIZlEjHorRB3MaKEhcwpPtoKpiLvH2rlcSnB8fkhwi4HI9afnzLSnHslZfmyQuBfzR+zoDYX5+DeLuNJlTVvuL8Rx4EcjL1/QFg4X/xe1Fw6yq/Z3klXYCCCONYq8XhuYfGhONm2VpqyamtteeMI+Ki99IEV50My5d3wGXLJWUXwSLOTsNBsLRtmGL1tLEm/buHJDGLLa6d2L7KdzWoef5Gog== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DM2PR03MB495; X-Microsoft-Exchange-Diagnostics: 1;DM2PR03MB495;20:LsSOryVy4O+2a8GVfSQVTg9bTEU1lkc5EH7cmEdu3Xwm/12gk8Zb8gwPIru6P72cXmhE3yDwr3xcZnyj8bu0G7DPfe1btCIleBWRIJ9U56a357LoX+THzVCAMso0rnCrnqdeKNIwPx2qG9PHPwdUUbwYcdDPrwTq1bAbep6ELQLGJxvbFDPRbMCO+/T12Dy/QM98T4U9mp38OG/ER0yJ38Xepg0Ryje9lSZjc5acvXp/WrgC+DMlQSqLsBXYW8kkx6oACicena9lkleCKCwqkXkogFAzwNqoSO+NkXHU/01V69W7bAaf0FMe+OOunl8wCvM1s6z0jepY+U+GtHZmbNc7IbdEc39epZJGEl49FlQ=;4:NswX2+3BKkEqsCpt5DrmgxJqSI7cfe6yXHBMbS8368hw1cKuOYaltzwM79arSR/zE3atF/qYIXi7GGFvWJqljY1kPGybVRNYD/HYdI0zkjHxt78V2mIQsH55c8J3dQMmY3TUSrtSVc/ZAzO0RP1aM5SoZf4dKohCCKbRnEAHszaLhPibvC/n7ooQQIXU5sXETajAuVGyJMj8Ywq9yWevuc/ISZNNub//mmjl7dboRTDMGW637DfrjdXovehAYTfgHA7aDWQ1mR7AywARmQIoNYnVNk11GK5G5rN64Az6BcR63Gpvvm6EROgBBiOU32uz0aXg6cfvraitBxqlN5qBQFE44Pf+IZ8hRdpwSYYVbgM= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(8121501046)(520078)(3002001);SRVR:DM2PR03MB495;BCL:0;PCL:0;RULEID:;SRVR:DM2PR03MB495; X-Forefront-PRVS: 07083FF734 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DM2PR03MB495;23:HM/6Sz7FOFZhE3XpzEH4icvjticyVCvWL54fDAEbh7?= =?us-ascii?Q?Lf/p+9IO89m8/rrDUXeGysn7mP/QynBOsA2372ZX843nv22fu2HHSUMPhcDR?= =?us-ascii?Q?B/4hlmdBTBEF4BaBr7pmlnhGN99iOPo/QZy43aRgHFbAvldQ/acunKxM1oXT?= =?us-ascii?Q?gtCNB8zJe3kNTLqDXWkpqZGbYYwa+MS/meXlRszWnkC/5rLIbas0e+bI0iCI?= =?us-ascii?Q?mlWf1E+hrp6m3ZcPcdLPyvOfPxmHaW+JagJhhy4D7IAdWc0R7lURpKTwyckK?= =?us-ascii?Q?jo4XTh3NhN9/wS0nChdcLCzgIhzhcTohXdU5tL82V/JcU/VzidSWN9WWEVoY?= =?us-ascii?Q?i3xqiw1JFYJ7GXbVoojpD7yahM8VCu/WHJeXw0LDndkqS1psX+pArEh095xW?= =?us-ascii?Q?Ay5qhpNxItMv8wVGMecLqE/spB7WumePgmKo69bxuRHyRc1XpzRktWBJAazX?= =?us-ascii?Q?jjuvYLIMeApI4h3OZCloZudWEkrCZG8aBOKL1CZwiFApLEOMnydeSaIP0kVa?= =?us-ascii?Q?zyZDaI1rSgpS7r+sSRLdcq7DH+JVePIkaRqj1GFpP1X3L0QThUbKc0MxVLKg?= =?us-ascii?Q?S8dhOFiKEPeZJkt7qN9zt7OJ6UJJc05HeLGI2/vlXGPAis6IoagHkWdFtwlJ?= =?us-ascii?Q?Xb2g8cUFU34N/ofQun1T3MxVehXNwoLLX00Q1VXcTc5oOO0pJeLsJ6QlOrvS?= =?us-ascii?Q?HRIqxQiRgUgBwJlPCKi8qhDaQRTlyldeTC05/aCtRezFlpjYceoZotGPYqR5?= =?us-ascii?Q?CJPsOA424P4iSOAaNaYbFRs7lhC3CQ4l0L0N2HEANObpG8STlJ2EeTilDgcx?= =?us-ascii?Q?304web6gc77bD/LnoXPM31X/N2uJo5vuyo7y+X+7qchyJXlVMdW6OMU+A9Jz?= =?us-ascii?Q?4aLjTEp5vZlFNxkc9CrNYdvpiqP8CZvq/H50SnZsZ2ptM6u/dTpOkLNwgNVy?= =?us-ascii?Q?aknsLZfo0u5qqLH+TC5TXgMurEH4yBtobwTYJ/IrSAL19N4n093s4K14iWhP?= =?us-ascii?Q?Wb9OwyNGq60ubiWs3gAoyxd433fZ1CfN25aUC0p4gyA28ivrz7iC/Aj2bRJt?= =?us-ascii?Q?jZ9sIVBf9unFoSBGvsG176Z/e10D8wFXnH9p5X0P1kqoYCsr/Pk8GHsILLHT?= =?us-ascii?Q?71Qy5wyvWlN86To+lP/1YssH2lr2Huvjw8dX/3gLTLBtIA1k1xNs4miByb3z?= =?us-ascii?Q?WSWIz4kg4ukPF0IcLybToFpB4KWMuJbsyS943fb0BZRLb316guYuCwJiAPEj?= =?us-ascii?Q?q4N5ewIjW56lPsRv4lQkJdiWJMK20BkzT4viIr++c5o8JvbvBMan1/kooaoA?= =?us-ascii?Q?=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;DM2PR03MB495;5:yDHXQ9plLCDmky+1WET/vyuJclY5vdH00TU0/qZAZlFkTGXx3ajBt5AcohtZUhn0B72DSzj+kFMZ3rpaUw9WtGu9otQ+1XAP84GsT3U29wUX1skzRp1lhit4+khFCDBcb/+VBHIMSQ4zFauMqKm6cQ==;24:3JVQRA3k42Ftb9SfB/dDAVRVcyxPY1H4idQjRrmdr+V/c3abz0RyckT9BFda6aylN7YmN026truYB3lsOIq7GiHCulebgKrFd+8e5VW4SYs=;20:BMv9r7lRhYAAxH7SrXd3H921y+50sCDpPQEAkjdDMxjpvpQVWpoZODnlFBvIUocMaJ0QthS4QDG3hNi3OT5i1A== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Sep 2015 03:10:49.8466 (UTC) X-MS-Exchange-CrossTenant-Id: 710a03f5-10f6-4d38-9ff4-a80b81da590d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=710a03f5-10f6-4d38-9ff4-a80b81da590d;Ip=[192.88.168.50];Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR03MB495 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Sep 22, 2015 at 07:59:09PM +0100, Felipe F. Tonello wrote: > req->actual == req->length means that there is no data left to enqueue, > so free the request. > > Signed-off-by: Felipe F. Tonello > --- > drivers/usb/gadget/function/f_midi.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/usb/gadget/function/f_midi.c b/drivers/usb/gadget/function/f_midi.c > index edb84ca..e92aff5 100644 > --- a/drivers/usb/gadget/function/f_midi.c > +++ b/drivers/usb/gadget/function/f_midi.c > @@ -258,7 +258,10 @@ f_midi_complete(struct usb_ep *ep, struct usb_request *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); > + if (req->actual < req->length) > + f_midi_transmit(midi, req); > + else > + free_ep_req(ep, req); > return; > } It is incorrect, if no reqeust in queue, how device knows when the host sends data? -- Best Regards, Peter Chen