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: [BUG] mt76x0u: Probing issues on Raspberry Pi 3 B+ From: Stanislaw Gruszka Message-Id: <20190220161415.GA14165@redhat.com> Date: Wed, 20 Feb 2019 17:14:16 +0100 To: Lorenzo Bianconi Cc: Felix Fietkau , Stefan Wahren , Alan Stern , Doug Anderson , Minas Harutyunyan , USB list , linux-wireless List-ID: T24gV2VkLCBGZWIgMjAsIDIwMTkgYXQgMDI6MjI6MDhQTSArMDEwMCwgTG9yZW56byBCaWFuY29u aSB3cm90ZToKPiA+IE9uIFR1ZSwgRmViIDE5LCAyMDE5IGF0IDAxOjE5OjI2UE0gKzAxMDAsIEZl bGl4IEZpZXRrYXUgd3JvdGU6Cj4gPiA+ID4+ID4+IFRoZSB3YXkgSSBzZWUgaXQsIHdlIGhhdmUg dHdvIGNob2ljZXMuCj4gPiA+ID4+ID4+IDEuIEZpeCBkd2MyIHRvIGRvIGl0cyBhbGlnbm1lbnQg cXVpcmsgZm9yIHRoZSB1cmItPnNnICE9IE5VTEwgY2FzZQo+ID4gPiA+PiA+PiAyLiBSZWx5IG9u IHVyYi0+dHJhbnNmZXJfYnVmZmVyIGFuZCBrZWVwIHVyYi0+c2cgTlVMTAo+ID4gPiA+PiA+IAo+ ID4gPiA+PiA+IEkgYWdyZWUsIGlmIHRoaXMgaXMgb25seSBuZWVkZWQgZm9yIGR3YzIuIFRob3Vn aCBJIHdvdWxkIGludmVzdGlnYXRlCj4gPiA+ID4+ID4gaWYgdGhpcyBpcyBub3QgYSBidWcgb24g b3RoZXIgcGxhdGZvcm1zIGFzIHdlbGwuCj4gPiA+ID4+ID5Gcm9tIHdoYXQgSSBjYW4gc2VlLCB1 c2luZyBMb3JlbnpvJ3MgcGF0Y2hlcyBzZWVtcyB0byBiZSB0aGUgYmV0dGVyCj4gPiA+ID4+IHNv bHV0aW9uLCBzaW5jZSB0aGV5IGF2b2lkIHRoZXNlIGNvcm5lciBjYXNlcyBpbiBkd2MyIChhbmQg bWF5YmUgb3RoZXIKPiA+ID4gPj4gZHJpdmVycyBhcyB3ZWxsKS4gSSB3aWxsIGFwcGx5IHRoZW0g YW5kIHRoZW4gd2UnbGwgc2VlIGlmIHdlIG5lZWQgdG8gZG8KPiA+ID4gPj4gYW55IGZ1cnRoZXIg aW1wcm92ZW1lbnRzIGxhdGVyIG9uLgo+ID4gPiA+IAo+ID4gPiA+IFRoZXkgd29yayBvbiBycGkg ZHdjMiwgYnV0IHRoZXkgZG8gbm90IGFkZHJlc3Mgcm9vdCBvZiB0aGUgcHJvYmxlbS4KPiA+ID4g PiBUaGVyZSBpcyBjbGVhcmx5IHNvbWV0aGluZyB3cm9uZyBob3cgbXQ3NnVzYiBoYW5kbGUgU0cs IHdoYXQgaXMgbm90Cj4gPiA+ID4gZml4ZWQuIEFuZCBhZGRpbmcgZGlzYWJsZV91c2Jfc2cgbW9k dWxlIHBhcmFtZXRlciBmb3IgaGNkJ3Mgc3VwcG9ydGluZwo+ID4gPiA+IFNHIHNob3VsZCBiZSBy ZWQgZmxhZy4KPiA+ID4gSSB0aGluayB3ZSdyZSBzaW1wbHkgZGVhbGluZyB3aXRoIG11bHRpcGxl IGlzc3VlcyBoZXJlLCBvbmx5IHNvbWUgb2YKPiA+ID4gd2hpY2ggYXJlIGZpeGVkIGJ5IExvcmVu em8ncyBwYXRjaGVzLgo+ID4gPiBJJ20gcHJldHR5IHN1cmUgaXQncyBzdGlsbCB3cm9uZyBmb3Ig bXQ3NiB0byB0cnkgdG8gYWxpZ24gaXRzIGJ1ZmZlcnMsCj4gPiA+IHNpbmNlIHRoZSBMaW51eCBV U0IgQVBJIHN1cHBvcnRzIG5vbi1hbGlnbmVkIHRyYW5zZmVyIGJ1ZmZlcnMgYW5kIGl0Cj4gPiA+ IHNob3VsZCBiZSB1cCB0byB0aGUgY29udHJvbGxlciBkcml2ZXIgdG8gZGVhbCB3aXRoIHRoYXQu Cj4gPiAKPiA+IEFncmVlLgo+ID4gCj4gPiA+IGR3YzIgdHJpZXMgdG8gZG8gdGhhdCwgYnV0IHRo YXQgaGFzIGxpbWl0YXRpb25zIHdoaWNoIEkgYWxyZWFkeSBwb2ludGVkCj4gPiA+IG91dCBhbmQg d2hpY2ggYXJlIHByb3Blcmx5IGRlYWx0IHdpdGggYnkgTG9yZW56bydzIHBhdGNoZXMuCj4gPiAK PiA+IEkgcGxhbmVkIHRvIGp1c3QgYWNjZXB0IGN1cnJlbnQgc29sdXRpb24sIGJ1dCBJIHN0YXJ0 ZWQgdG8gd29yayBvbiBwYXRjaAo+ID4gdGhhdCByZW1vdmUgbGVuLCBzZ2xlbiBhcmd1bWVudHMg ZnJvbSBtdDc2dV9idWZfYWxsb2MoKSBhbmQgdXNlCj4gPiBxLT5idWZfc2l6ZSBhbmQgU0tCX1dJ VEhfT1ZFUkhFQUQocS0+YnVmX3NpemUpIGRpcmVjdGx5IGFuZCByZWFsaXplZCBob3cKPiA+IHJl bGF0ZWQgY29kZSBpcyBub3cgdGFuZ2xlZC4KPiA+IAo+ID4gV291bGQgYmUgb2sgdG8gc2VuZCB0 aGlzIHBhdGNoIHdpdGggcHJvcGVyIGNoYW5nZWxvZyBhcyBmaXggZm9yIFJQSQo+ID4gYWdhaW5z dCB3aXJlbGVzcy1kcml2ZXJzIGFuZCBjYzpzdGFibGUgKGFzc3VtaW5nIGl0IHdvcmtzIGFuZCBy ZWFsbHkKPiA+IGZpeCB0aGluZ3Mgb24gUlBJKSBhbmQgcmV2ZXJ0IExvcmVuem8ncyBwYXRjaGVz IGluIC1uZXh0ID8KPiAKPiBIaSBTdGFuaXNsYXcsCj4gCj4gd2hhdCBpcyB0aGUgYWR2YW50YWdl IG9mIGRvaW5nIHNvPwpUbyBoYXZlIHNtYWxsIGZpeCBwcm9wZXIgZm9yIC1zdGFibGUgdG8gZml4 IHRoZSBwcm9ibGVtIGluIDQuMjAgYW5kIDQuMTksCmFuZCBoYXZlIHNpbXBsZXIgY29kZS4KCj4g WW91IGhhdmUgZHVwbGljYXRlZCBtb3N0IG9mIHRoZSBmaWVsZHMgdGhhdCBhcmUKPiBhbHJlYWR5 IGluIHRoZSB1cmIgZGF0YSBzdHJ1Y3R1cmUgYW5kIHlvdSB1c2UgdHJhbnNmZXJfYnVmZmVyIChu byBTRyBJL08pLgpVUkIgaGFzIHBsZW50eSBvZiBmaWVsZHMsIEkgZHVwbGljYXRlZCAyLiBJZiBz aXplIG9mIG10NzZ1X2J1ZiBpcyBhIGNvbmNlcm4KdGhpcyBjYW4gYmUgb3B0aW1pemVkIGJ5IHBh Y2tpbmcgbnVtX3NncywgbGVuLCBkb25lIGludG8gZmllbGRzIHZhcmlhYmxlLgoKPiBNb3Jlb3Zl ciBJIGhhdmUgcmVhZHkgYSBzZXJpZXMgdGhhdCByZW1vdmVzIDk5JSBvZiB0aGUgZHVhbCBhbGxv Y2F0aW9uIGNvZGUgYW5kCj4gbWFpbnRhaW4gaXQgaW4gdGhlIGNvbnRyb2wgcGF0aCAoaW5zdGVh ZCBvZiB0aGUgZGF0YXBhdGggb25lKS4KPiBJIG5lZWQganVzdCB0byByZWJhc2UgaXQgb250b3Ag b2YgeW91ciBzZXJpZXMuIEkgd2lsbCBwb3N0IGl0IHNvb24uClNvIEkgd291bGQgYXNrIHdoYXQg aXMgdGhlIHBvaW50IHRvIGFkZGluZyBidW5jaCBvZiBjb2RlIGFuZCByZW1vdmUgaXQgaW4gdmVy eQpuZXh0IHBhdGNoPwoKU3RhbmlzbGF3Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.5 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_PASS,USER_AGENT_MUTT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 25B26C43381 for ; Wed, 20 Feb 2019 16:14:32 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 00BC220880 for ; Wed, 20 Feb 2019 16:14:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727263AbfBTQOb (ORCPT ); Wed, 20 Feb 2019 11:14:31 -0500 Received: from mx1.redhat.com ([209.132.183.28]:43588 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725836AbfBTQOa (ORCPT ); Wed, 20 Feb 2019 11:14:30 -0500 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 33C68765C6; Wed, 20 Feb 2019 16:14:30 +0000 (UTC) Received: from localhost (ovpn-204-136.brq.redhat.com [10.40.204.136]) by smtp.corp.redhat.com (Postfix) with ESMTP id 3DDEB6016F; Wed, 20 Feb 2019 16:14:17 +0000 (UTC) Date: Wed, 20 Feb 2019 17:14:16 +0100 From: Stanislaw Gruszka To: Lorenzo Bianconi Cc: Felix Fietkau , Stefan Wahren , Alan Stern , Doug Anderson , Minas Harutyunyan , USB list , linux-wireless Subject: Re: [BUG] mt76x0u: Probing issues on Raspberry Pi 3 B+ Message-ID: <20190220161415.GA14165@redhat.com> References: <20190216140739.GA2236@redhat.com> <2009016263.528260.1550344627996@email.ionos.de> <20190218135247.GA9602@redhat.com> <0e29e99a-6ed4-40fe-1f38-30f1b5530a16@nbd.name> <20190218150303.GD9602@redhat.com> <20190219104208.GA22999@redhat.com> <58097bb1-d726-c48e-2a40-2e12098dfb15@nbd.name> <20190220130009.GA2377@redhat.com> <20190220132206.GF2626@localhost.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190220132206.GF2626@localhost.localdomain> User-Agent: Mutt/1.8.3 (2017-05-23) X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Wed, 20 Feb 2019 16:14:30 +0000 (UTC) Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org On Wed, Feb 20, 2019 at 02:22:08PM +0100, Lorenzo Bianconi wrote: > > On Tue, Feb 19, 2019 at 01:19:26PM +0100, Felix Fietkau wrote: > > > >> >> The way I see it, we have two choices. > > > >> >> 1. Fix dwc2 to do its alignment quirk for the urb->sg != NULL case > > > >> >> 2. Rely on urb->transfer_buffer and keep urb->sg NULL > > > >> > > > > >> > I agree, if this is only needed for dwc2. Though I would investigate > > > >> > if this is not a bug on other platforms as well. > > > >> >From what I can see, using Lorenzo's patches seems to be the better > > > >> solution, since they avoid these corner cases in dwc2 (and maybe other > > > >> drivers as well). I will apply them and then we'll see if we need to do > > > >> any further improvements later on. > > > > > > > > They work on rpi dwc2, but they do not address root of the problem. > > > > There is clearly something wrong how mt76usb handle SG, what is not > > > > fixed. And adding disable_usb_sg module parameter for hcd's supporting > > > > SG should be red flag. > > > I think we're simply dealing with multiple issues here, only some of > > > which are fixed by Lorenzo's patches. > > > I'm pretty sure it's still wrong for mt76 to try to align its buffers, > > > since the Linux USB API supports non-aligned transfer buffers and it > > > should be up to the controller driver to deal with that. > > > > Agree. > > > > > dwc2 tries to do that, but that has limitations which I already pointed > > > out and which are properly dealt with by Lorenzo's patches. > > > > I planed to just accept current solution, but I started to work on patch > > that remove len, sglen arguments from mt76u_buf_alloc() and use > > q->buf_size and SKB_WITH_OVERHEAD(q->buf_size) directly and realized how > > related code is now tangled. > > > > Would be ok to send this patch with proper changelog as fix for RPI > > against wireless-drivers and cc:stable (assuming it works and really > > fix things on RPI) and revert Lorenzo's patches in -next ? > > Hi Stanislaw, > > what is the advantage of doing so? To have small fix proper for -stable to fix the problem in 4.20 and 4.19, and have simpler code. > You have duplicated most of the fields that are > already in the urb data structure and you use transfer_buffer (no SG I/O). URB has plenty of fields, I duplicated 2. If size of mt76u_buf is a concern this can be optimized by packing num_sgs, len, done into fields variable. > Moreover I have ready a series that removes 99% of the dual allocation code and > maintain it in the control path (instead of the datapath one). > I need just to rebase it ontop of your series. I will post it soon. So I would ask what is the point to adding bunch of code and remove it in very next patch? Stanislaw