From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Google-Smtp-Source: AB8JxZqb8kzeqEMhx1D3TEPenIG9/iHFYnePQzsq8osfgEZSSIc8m2A8K4xLNS52xVP/8+a0+8lH ARC-Seal: i=1; a=rsa-sha256; t=1526031250; cv=none; d=google.com; s=arc-20160816; b=PRU2YiIXRJnEJrN5qNmPuFvBCKkUrsgMzKh6ldT32LcJRymjCZYbzXlfjWoy8x3MXG ukLMVaQyM4/93x9oMJX2soBMTxQtzsCEoLgk7n6qM4suigwOPNcBgiyvnTCJBTB/yXC2 2es3hpA3ckBOfrwca+ovbKj8R8WHCS75idK8Z9KSefKtL38EYmMZBpOR9EV4bWNINVZE USxc74iVaXelcXFdjM5EmvONIPkMubnDjMQzrfJqSvvZK5ZPuWn4mPjPC5uXVpdDdXOU ha8nrvTgRfmZv61+LpxKrG+MbFNegVeMKoo3iqBGDdUh+GrrsP8k/fTHEnw3pQ4Hv34K 3GZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-language:content-transfer-encoding:in-reply-to:mime-version :user-agent:date:message-id:from:references:cc:to:subject :arc-authentication-results; bh=JwskvU6ndEmzRXc5o6WhHLqmTnzwaHiBAYi7mizFZqE=; b=kFpBcvRVW6xe0Tv4p8+H3ZJIpGhEKRtATNRH3hzKx+6ZX9yCtfJ3HaGL5YT9hs5rmo wtvd06goL+Ir9QyrSEtvRs3XOgaAySt75Aoqv0TfD0TLxvZ4PD46figGTckqj92mrDKh wBFayquXIoTxO6Au9OPBXudUWhoOBE3N36gg9eQaZuT4KLCu5Tpr3/Yzk8oYX1TLIaDi cfGJ5Kf3RWEciRXFVzKA3JoM5d5XeJxTjJLnvoj9IjfWGcJzdzvsKcaE9oij+fc651mg 9YKv1QDe9vOVfhMiNsMyH3l3yBzbDW+ZlWBpHOWaa890UjSlWOhz1N4i0BT5KwFX3qGE iTjw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of wulf@rock-chips.com designates 211.150.80.17 as permitted sender) smtp.mailfrom=wulf@rock-chips.com Authentication-Results: mx.google.com; spf=pass (google.com: domain of wulf@rock-chips.com designates 211.150.80.17 as permitted sender) smtp.mailfrom=wulf@rock-chips.com X-263anti-spam: KSV:0; X-MAIL-GRAY: 0 X-MAIL-DELIVERY: 1 X-KSVirus-check: 0 X-ABS-CHECKED: 4 X-IP-DOMAINF: 1 X-RL-SENDER: wulf@rock-chips.com X-FST-TO: milesschofield@aopen.com X-SENDER-IP: 58.22.7.114 X-LOGIN-NAME: wulf@rock-chips.com X-UNIQUE-TAG: <67274dbab7315ca3e374fadefd25b041> X-ATTACHMENT-NUM: 0 X-DNS-TYPE: 0 Subject: Re: [PATCH v4 1/2] usb: dwc2: alloc dma aligned buffer for isoc split in To: Doug Anderson , William Wu Cc: hminas@synopsys.com, felipe.balbi@linux.intel.com, Greg Kroah-Hartman , Sergei Shtylyov , =?UTF-8?Q?Heiko_St=c3=bcbner?= , LKML , linux-usb@vger.kernel.org, "open list:ARM/Rockchip SoC..." , Frank Wang , =?UTF-8?B?6buE5rab?= , "daniel.meng" , John Youn , =?UTF-8?B?546L5b6B5aKe?= , zsq@rock-chips.com, =?UTF-8?B?6Kix5ZiJ6YqY?= , Stan Tsui , =?UTF-8?B?U3BydWNlIFd1ICjlkLPlu7rli7Mp?= , Martin Tsai , Kevin Hsueh , =?UTF-8?B?TW9uLUplciBXdSAo5ZCz5a2f5ZOyKQ==?= , =?UTF-8?B?Q2xhdWQgQ2hhbmcgKOW8teaBreeviSk=?= , =?UTF-8?B?U2FuIExpbiAo5p6X5bu66I+xKQ==?= , Ren Kuo , "David H.T. Wang" , Fong Lin , Steven Cheng , Tom Chen , Don Chang , milesschofield@aopen.com References: <1525860661-18619-1-git-send-email-william.wu@rock-chips.com> <1525860661-18619-2-git-send-email-william.wu@rock-chips.com> From: wlf Message-ID: <60703355-c0e5-f6f4-0933-1efb7b46dded@rock-chips.com> Date: Fri, 11 May 2018 17:33:55 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: =?utf-8?q?1599980959305070262?= X-GMAIL-MSGID: =?utf-8?q?1600159744441288250?= X-Mailing-List: linux-kernel@vger.kernel.org List-ID: Dear Doug, 在 2018年05月11日 05:01, Doug Anderson 写道: > Hi, > > On Wed, May 9, 2018 at 3:11 AM, William Wu wrote: >> The commit 3bc04e28a030 ("usb: dwc2: host: Get aligned DMA in >> a more supported way") rips out a lot of code to simply the >> allocation of aligned DMA. However, it also introduces a new >> issue when use isoc split in transfer. >> >> In my test case, I connect the dwc2 controller with an usb hs >> Hub (GL852G-12), and plug an usb fs audio device (Plantronics >> headset) into the downstream port of Hub. Then use the usb mic >> to record, we can find noise when playback. >> >> It's because that the usb Hub uses an MDATA for the first >> transaction and a DATA0 for the second transaction for the isoc >> split in transaction. An typical isoc split in transaction sequence >> like this: >> >> - SSPLIT IN transaction >> - CSPLIT IN transaction >> - MDATA packet >> - CSPLIT IN transaction >> - DATA0 packet >> >> The DMA address of MDATA (urb->dma) is always DWORD-aligned, but >> the DMA address of DATA0 (urb->dma + qtd->isoc_split_offset) may >> not be DWORD-aligned, it depends on the qtd->isoc_split_offset (the >> length of MDATA). In my test case, the length of MDATA is usually >> unaligned, this cause DATA0 packet transmission error. >> >> This patch use kmem_cache to allocate aligned DMA buf for isoc >> split in transaction. Note that according to usb 2.0 spec, the >> maximum data payload size is 1023 bytes for each fs isoc ep, >> and the maximum allowable interrupt data payload size is 64 bytes >> or less for fs interrupt ep. So we set the size of object to be >> 1024 bytes in the kmem cache. >> >> Signed-off-by: William Wu >> --- >> Changes in v4: >> - get rid of "qh->dw_align_buf_size" >> - allocate unaligned_cache for Address DMA mode and Desc DMA mode >> - freeing order opposite of allocation > You only did half of this. You changed the order under "error4" but > forgot to make dwc2_hcd_remove() match. Ah, sorry, I'm careless. > > >> - do dma_map_single() with the size of DWC2_KMEM_UNALIGNED_BUF_SIZE >> >> Changes in v3: >> - Modify the commit message >> - Use Kmem_cache to allocate aligned DMA buf >> - Fix coding style >> >> Changes in v2: >> - None >> >> drivers/usb/dwc2/core.h | 3 ++ >> drivers/usb/dwc2/hcd.c | 87 ++++++++++++++++++++++++++++++++++++++++++-- >> drivers/usb/dwc2/hcd.h | 8 ++++ >> drivers/usb/dwc2/hcd_intr.c | 8 ++++ >> drivers/usb/dwc2/hcd_queue.c | 3 ++ >> 5 files changed, 105 insertions(+), 4 deletions(-) > My only remaining comment is a really nitty detail. Unless someone > else feels strongly about it, I'm not sure it's worth spinning the > patch just for that nit unless someone else has review comments. > > I believe I've looked at this enough to say: > > Reviewed-by: Douglas Anderson Thank you very much for your review. I will submit V5 patches to fix the order of memory free in dwc2_hcd_remove(), and also add Review-by. > > > From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [v4,1/2] usb: dwc2: alloc dma aligned buffer for isoc split in From: William Wu Message-Id: <60703355-c0e5-f6f4-0933-1efb7b46dded@rock-chips.com> Date: Fri, 11 May 2018 17:33:55 +0800 To: Doug Anderson , William Wu Cc: hminas@synopsys.com, felipe.balbi@linux.intel.com, Greg Kroah-Hartman , Sergei Shtylyov , =?UTF-8?Q?Heiko_St=c3=bcbner?= , LKML , linux-usb@vger.kernel.org, "open list:ARM/Rockchip SoC..." , Frank Wang , =?UTF-8?B?6buE5rab?= , "daniel.meng" , John Youn , =?UTF-8?B?546L5b6B5aKe?= , zsq@rock-chips.com, =?UTF-8?B?6Kix5ZiJ6YqY?= , Stan Tsui , =?UTF-8?B?U3BydWNlIFd1ICjlkLPlu7rli7Mp?= , Martin Tsai , Kevin Hsueh , =?UTF-8?B?TW9uLUplciBXdSAo5ZCz5a2f5ZOyKQ==?= , =?UTF-8?B?Q2xhdWQgQ2hhbmcgKOW8teaBreeviSk=?= , =?UTF-8?B?U2FuIExpbiAo5p6X5bu66I+xKQ==?= , Ren Kuo , "David H.T. Wang" , Fong Lin , Steven Cheng , Tom Chen , Don Chang , milesschofield@aopen.com List-ID: RGVhciBEb3VnLAoK5ZyoIDIwMTjlubQwNeaciDEx5pelIDA1OjAxLCBEb3VnIEFuZGVyc29uIOWG memBkzoKPiBIaSwKPgo+IE9uIFdlZCwgTWF5IDksIDIwMTggYXQgMzoxMSBBTSwgV2lsbGlhbSBX dSA8d2lsbGlhbS53dUByb2NrLWNoaXBzLmNvbT4gd3JvdGU6Cj4+IFRoZSBjb21taXQgM2JjMDRl MjhhMDMwICgidXNiOiBkd2MyOiBob3N0OiBHZXQgYWxpZ25lZCBETUEgaW4KPj4gYSBtb3JlIHN1 cHBvcnRlZCB3YXkiKSByaXBzIG91dCBhIGxvdCBvZiBjb2RlIHRvIHNpbXBseSB0aGUKPj4gYWxs b2NhdGlvbiBvZiBhbGlnbmVkIERNQS4gSG93ZXZlciwgaXQgYWxzbyBpbnRyb2R1Y2VzIGEgbmV3 Cj4+IGlzc3VlIHdoZW4gdXNlIGlzb2Mgc3BsaXQgaW4gdHJhbnNmZXIuCj4+Cj4+IEluIG15IHRl c3QgY2FzZSwgSSBjb25uZWN0IHRoZSBkd2MyIGNvbnRyb2xsZXIgd2l0aCBhbiB1c2IgaHMKPj4g SHViIChHTDg1MkctMTIpLCBhbmQgcGx1ZyBhbiB1c2IgZnMgYXVkaW8gZGV2aWNlIChQbGFudHJv bmljcwo+PiBoZWFkc2V0KSBpbnRvIHRoZSBkb3duc3RyZWFtIHBvcnQgb2YgSHViLiBUaGVuIHVz ZSB0aGUgdXNiIG1pYwo+PiB0byByZWNvcmQsIHdlIGNhbiBmaW5kIG5vaXNlIHdoZW4gcGxheWJh Y2suCj4+Cj4+IEl0J3MgYmVjYXVzZSB0aGF0IHRoZSB1c2IgSHViIHVzZXMgYW4gTURBVEEgZm9y IHRoZSBmaXJzdAo+PiB0cmFuc2FjdGlvbiBhbmQgYSBEQVRBMCBmb3IgdGhlIHNlY29uZCB0cmFu c2FjdGlvbiBmb3IgdGhlIGlzb2MKPj4gc3BsaXQgaW4gdHJhbnNhY3Rpb24uIEFuIHR5cGljYWwg aXNvYyBzcGxpdCBpbiB0cmFuc2FjdGlvbiBzZXF1ZW5jZQo+PiBsaWtlIHRoaXM6Cj4+Cj4+IC0g U1NQTElUIElOIHRyYW5zYWN0aW9uCj4+IC0gQ1NQTElUIElOIHRyYW5zYWN0aW9uCj4+ICAgIC0g TURBVEEgcGFja2V0Cj4+IC0gQ1NQTElUIElOIHRyYW5zYWN0aW9uCj4+ICAgIC0gREFUQTAgcGFj a2V0Cj4+Cj4+IFRoZSBETUEgYWRkcmVzcyBvZiBNREFUQSAodXJiLT5kbWEpIGlzIGFsd2F5cyBE V09SRC1hbGlnbmVkLCBidXQKPj4gdGhlIERNQSBhZGRyZXNzIG9mIERBVEEwICh1cmItPmRtYSAr IHF0ZC0+aXNvY19zcGxpdF9vZmZzZXQpIG1heQo+PiBub3QgYmUgRFdPUkQtYWxpZ25lZCwgaXQg ZGVwZW5kcyBvbiB0aGUgcXRkLT5pc29jX3NwbGl0X29mZnNldCAodGhlCj4+IGxlbmd0aCBvZiBN REFUQSkuIEluIG15IHRlc3QgY2FzZSwgdGhlIGxlbmd0aCBvZiBNREFUQSBpcyB1c3VhbGx5Cj4+ IHVuYWxpZ25lZCwgdGhpcyBjYXVzZSBEQVRBMCBwYWNrZXQgdHJhbnNtaXNzaW9uIGVycm9yLgo+ Pgo+PiBUaGlzIHBhdGNoIHVzZSBrbWVtX2NhY2hlIHRvIGFsbG9jYXRlIGFsaWduZWQgRE1BIGJ1 ZiBmb3IgaXNvYwo+PiBzcGxpdCBpbiB0cmFuc2FjdGlvbi4gTm90ZSB0aGF0IGFjY29yZGluZyB0 byB1c2IgMi4wIHNwZWMsIHRoZQo+PiBtYXhpbXVtIGRhdGEgcGF5bG9hZCBzaXplIGlzIDEwMjMg Ynl0ZXMgZm9yIGVhY2ggZnMgaXNvYyBlcCwKPj4gYW5kIHRoZSBtYXhpbXVtIGFsbG93YWJsZSBp bnRlcnJ1cHQgZGF0YSBwYXlsb2FkIHNpemUgaXMgNjQgYnl0ZXMKPj4gb3IgbGVzcyBmb3IgZnMg aW50ZXJydXB0IGVwLiBTbyB3ZSBzZXQgdGhlIHNpemUgb2Ygb2JqZWN0IHRvIGJlCj4+IDEwMjQg Ynl0ZXMgaW4gdGhlIGttZW0gY2FjaGUuCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IFdpbGxpYW0gV3Ug PHdpbGxpYW0ud3VAcm9jay1jaGlwcy5jb20+Cj4+IC0tLQo+PiBDaGFuZ2VzIGluIHY0Ogo+PiAt IGdldCByaWQgb2YgInFoLT5kd19hbGlnbl9idWZfc2l6ZSIKPj4gLSBhbGxvY2F0ZSB1bmFsaWdu ZWRfY2FjaGUgZm9yIEFkZHJlc3MgRE1BIG1vZGUgYW5kIERlc2MgRE1BIG1vZGUKPj4gLSBmcmVl aW5nIG9yZGVyIG9wcG9zaXRlIG9mIGFsbG9jYXRpb24KPiBZb3Ugb25seSBkaWQgaGFsZiBvZiB0 aGlzLiAgWW91IGNoYW5nZWQgdGhlIG9yZGVyIHVuZGVyICJlcnJvcjQiIGJ1dAo+IGZvcmdvdCB0 byBtYWtlIGR3YzJfaGNkX3JlbW92ZSgpIG1hdGNoLgpBaCwgc29ycnksIEknbSBjYXJlbGVzcy4K Pgo+Cj4+IC0gZG8gZG1hX21hcF9zaW5nbGUoKSB3aXRoIHRoZSBzaXplIG9mIERXQzJfS01FTV9V TkFMSUdORURfQlVGX1NJWkUKPj4KPj4gQ2hhbmdlcyBpbiB2MzoKPj4gLSBNb2RpZnkgdGhlIGNv bW1pdCBtZXNzYWdlCj4+IC0gVXNlIEttZW1fY2FjaGUgdG8gYWxsb2NhdGUgYWxpZ25lZCBETUEg YnVmCj4+IC0gRml4IGNvZGluZyBzdHlsZQo+Pgo+PiBDaGFuZ2VzIGluIHYyOgo+PiAtIE5vbmUK Pj4KPj4gICBkcml2ZXJzL3VzYi9kd2MyL2NvcmUuaCAgICAgIHwgIDMgKysKPj4gICBkcml2ZXJz L3VzYi9kd2MyL2hjZC5jICAgICAgIHwgODcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrLS0KPj4gICBkcml2ZXJzL3VzYi9kd2MyL2hjZC5oICAgICAgIHwgIDggKysr Kwo+PiAgIGRyaXZlcnMvdXNiL2R3YzIvaGNkX2ludHIuYyAgfCAgOCArKysrCj4+ICAgZHJpdmVy cy91c2IvZHdjMi9oY2RfcXVldWUuYyB8ICAzICsrCj4+ICAgNSBmaWxlcyBjaGFuZ2VkLCAxMDUg aW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKPiBNeSBvbmx5IHJlbWFpbmluZyBjb21tZW50 IGlzIGEgcmVhbGx5IG5pdHR5IGRldGFpbC4gIFVubGVzcyBzb21lb25lCj4gZWxzZSBmZWVscyBz dHJvbmdseSBhYm91dCBpdCwgSSdtIG5vdCBzdXJlIGl0J3Mgd29ydGggc3Bpbm5pbmcgdGhlCj4g cGF0Y2gganVzdCBmb3IgdGhhdCBuaXQgdW5sZXNzIHNvbWVvbmUgZWxzZSBoYXMgcmV2aWV3IGNv bW1lbnRzLgo+Cj4gSSBiZWxpZXZlIEkndmUgbG9va2VkIGF0IHRoaXMgZW5vdWdoIHRvIHNheToK Pgo+IFJldmlld2VkLWJ5OiBEb3VnbGFzIEFuZGVyc29uIDxkaWFuZGVyc0BjaHJvbWl1bS5vcmc+ ClRoYW5rIHlvdSB2ZXJ5IG11Y2ggZm9yIHlvdXIgcmV2aWV3LiBJIHdpbGwgc3VibWl0IFY1IHBh dGNoZXMgdG8gZml4IHRoZSAKb3JkZXIgb2YgbWVtb3J5IGZyZWUgaW4gZHdjMl9oY2RfcmVtb3Zl KCnvvIwgYW5kIGFsc28gYWRkIFJldmlldy1ieS4KPgo+Cj4KLS0tClRvIHVuc3Vic2NyaWJlIGZy b20gdGhpcyBsaXN0OiBzZW5kIHRoZSBsaW5lICJ1bnN1YnNjcmliZSBsaW51eC11c2IiIGluCnRo ZSBib2R5IG9mIGEgbWVzc2FnZSB0byBtYWpvcmRvbW9Admdlci5rZXJuZWwub3JnCk1vcmUgbWFq b3Jkb21vIGluZm8gYXQgIGh0dHA6Ly92Z2VyLmtlcm5lbC5vcmcvbWFqb3Jkb21vLWluZm8uaHRt bAo= From mboxrd@z Thu Jan 1 00:00:00 1970 From: wlf Subject: Re: [PATCH v4 1/2] usb: dwc2: alloc dma aligned buffer for isoc split in Date: Fri, 11 May 2018 17:33:55 +0800 Message-ID: <60703355-c0e5-f6f4-0933-1efb7b46dded@rock-chips.com> References: <1525860661-18619-1-git-send-email-william.wu@rock-chips.com> <1525860661-18619-2-git-send-email-william.wu@rock-chips.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Return-path: In-Reply-To: Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org To: Doug Anderson , William Wu Cc: hminas@synopsys.com, felipe.balbi@linux.intel.com, Greg Kroah-Hartman , Sergei Shtylyov , =?UTF-8?Q?Heiko_St=c3=bcbner?= , LKML , linux-usb@vger.kernel.org, "open list:ARM/Rockchip SoC..." , Frank Wang , =?UTF-8?B?6buE5rab?= , "daniel.meng" , John Youn , =?UTF-8?B?546L5b6B5aKe?= , zsq@rock-chips.com, =?UTF-8?B?6Kix5ZiJ6YqY?= , Stan Tsui , =?UTF-8?B?U3BydWNlIFd1ICjlkLPlu7rli7Mp?= , Martin Tsai , Kevin List-Id: linux-rockchip.vger.kernel.org Dear Doug, 在 2018年05月11日 05:01, Doug Anderson 写道: > Hi, > > On Wed, May 9, 2018 at 3:11 AM, William Wu wrote: >> The commit 3bc04e28a030 ("usb: dwc2: host: Get aligned DMA in >> a more supported way") rips out a lot of code to simply the >> allocation of aligned DMA. However, it also introduces a new >> issue when use isoc split in transfer. >> >> In my test case, I connect the dwc2 controller with an usb hs >> Hub (GL852G-12), and plug an usb fs audio device (Plantronics >> headset) into the downstream port of Hub. Then use the usb mic >> to record, we can find noise when playback. >> >> It's because that the usb Hub uses an MDATA for the first >> transaction and a DATA0 for the second transaction for the isoc >> split in transaction. An typical isoc split in transaction sequence >> like this: >> >> - SSPLIT IN transaction >> - CSPLIT IN transaction >> - MDATA packet >> - CSPLIT IN transaction >> - DATA0 packet >> >> The DMA address of MDATA (urb->dma) is always DWORD-aligned, but >> the DMA address of DATA0 (urb->dma + qtd->isoc_split_offset) may >> not be DWORD-aligned, it depends on the qtd->isoc_split_offset (the >> length of MDATA). In my test case, the length of MDATA is usually >> unaligned, this cause DATA0 packet transmission error. >> >> This patch use kmem_cache to allocate aligned DMA buf for isoc >> split in transaction. Note that according to usb 2.0 spec, the >> maximum data payload size is 1023 bytes for each fs isoc ep, >> and the maximum allowable interrupt data payload size is 64 bytes >> or less for fs interrupt ep. So we set the size of object to be >> 1024 bytes in the kmem cache. >> >> Signed-off-by: William Wu >> --- >> Changes in v4: >> - get rid of "qh->dw_align_buf_size" >> - allocate unaligned_cache for Address DMA mode and Desc DMA mode >> - freeing order opposite of allocation > You only did half of this. You changed the order under "error4" but > forgot to make dwc2_hcd_remove() match. Ah, sorry, I'm careless. > > >> - do dma_map_single() with the size of DWC2_KMEM_UNALIGNED_BUF_SIZE >> >> Changes in v3: >> - Modify the commit message >> - Use Kmem_cache to allocate aligned DMA buf >> - Fix coding style >> >> Changes in v2: >> - None >> >> drivers/usb/dwc2/core.h | 3 ++ >> drivers/usb/dwc2/hcd.c | 87 ++++++++++++++++++++++++++++++++++++++++++-- >> drivers/usb/dwc2/hcd.h | 8 ++++ >> drivers/usb/dwc2/hcd_intr.c | 8 ++++ >> drivers/usb/dwc2/hcd_queue.c | 3 ++ >> 5 files changed, 105 insertions(+), 4 deletions(-) > My only remaining comment is a really nitty detail. Unless someone > else feels strongly about it, I'm not sure it's worth spinning the > patch just for that nit unless someone else has review comments. > > I believe I've looked at this enough to say: > > Reviewed-by: Douglas Anderson Thank you very much for your review. I will submit V5 patches to fix the order of memory free in dwc2_hcd_remove(), and also add Review-by. > > >