Received: by 2002:a05:7412:d8a:b0:e2:908c:2ebd with SMTP id b10csp752287rdg; Wed, 11 Oct 2023 04:47:30 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGLhtenbCXdHac72RIgvgF87IwRndfFZjznS5hupqDs/aOOgAlFXQ3of5WP87t7/nY/JcA8 X-Received: by 2002:a17:902:e847:b0:1bd:d92d:6b2 with SMTP id t7-20020a170902e84700b001bdd92d06b2mr21733991plg.10.1697024850177; Wed, 11 Oct 2023 04:47:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1697024850; cv=none; d=google.com; s=arc-20160816; b=1J4+TwNPtu399tQ/urmL10If8fKc2Hwh2Xygblf15kbZVEDtRTZovQs9yyucouHIxy OxvS64v4XHI1EwrlE6Ke7OhkgEetQsJLe4dd615TdAA6IQisIDRNQ8SiL6FhSU8l8zCI FBtnm8rv0jTIhURvUm7E5fO4ETBG/TAbwMWAN/VVSePDhtXhFyrW3PY9sVumVsEZPpTJ xF7wtxBcxuWg3Rd465GjN6LEqVTAUWzRy1geAMUJX74cQNMVLs+2ZmxmsoG8OvtgxStX QyMJfJYR1LdqCnFTHbDZ+pvBY03mx0GLBq+KjNNjvW4zZPBuRkrIqvRJXYXN6usLRmk5 WAcQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=F2CO58cNkDLoM5uuHoWEqHDI+8aDNQ1qA3on6BCuTZk=; fh=OyaAyFx4uK062zaXbRlODK3+cQqWu4+gi2vr9IDzrK4=; b=HUVzmxi7ckADTOvqSOD59Pulf8GAqx+brua2GQhQQuewiIbNXBjYEgBtgzVz9rlcZ0 UvSsIZDe8p81IMEI13WszHwR+mBCQBsFgGRiSoGejXBkmkI//Y2GL6j839tpEi38TxfM kCR8qbpB21UiUupBJ+Mx5S9UTjk/ZO4iXQplXAtdAsX1ZYrJrWosNgkFAhVkmOukjjjv hrvg9R16o6eLpB6Vi5zfoTMxUtqwYz24Te3ri6rk8ZSwSIEvqhfcG1+CrvmNSLDN1bII aMM+x9ZepLgJ+G7vcZsxKCOqpik6r+F/50TAyDA1VrXFTed/uN6zlfl72lg2JQ1Fn5Jz 8qRA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@raspberrypi.com header.s=google header.b=WXq0GO8q; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=raspberrypi.com Return-Path: Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id t12-20020a170902e84c00b001c3a05b0b58si4419360plg.500.2023.10.11.04.47.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 Oct 2023 04:47:30 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@raspberrypi.com header.s=google header.b=WXq0GO8q; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=raspberrypi.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 94D1181BDF1B; Wed, 11 Oct 2023 04:47:28 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234769AbjJKLr1 (ORCPT + 52 others); Wed, 11 Oct 2023 07:47:27 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47586 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234743AbjJKLrZ (ORCPT ); Wed, 11 Oct 2023 07:47:25 -0400 Received: from mail-yw1-x112c.google.com (mail-yw1-x112c.google.com [IPv6:2607:f8b0:4864:20::112c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 29C48CF for ; Wed, 11 Oct 2023 04:47:22 -0700 (PDT) Received: by mail-yw1-x112c.google.com with SMTP id 00721157ae682-5a7be88e9ccso22239197b3.2 for ; Wed, 11 Oct 2023 04:47:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.com; s=google; t=1697024841; x=1697629641; darn=vger.kernel.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=F2CO58cNkDLoM5uuHoWEqHDI+8aDNQ1qA3on6BCuTZk=; b=WXq0GO8q10iIiyT4pZkVOcdRFXFlVaEBvnF0h7Eajk8D/jtWXFsWbUV3LJY/ZyCVlf m2r0dgx0x4lDNLIwJFLuBMHXkyBahTWe1DPu+Ixc6hOXq/vcA+/kNIJDSLaEWZeb92xu 7bvLL4oW9lZu/OEx3stniOPkfIeBm0jfyB7/TAnR0bLjJv4VchK5WAAj73VzLwB+1MBn hCrEQi0Gldiz4klw7ATqq/EjjVFgeWz2HI9riKUJrpKW9Ftl50EB09zMMpI8UH3byaTf FGgmvYkudJcTfsUlg4AmDzTJwbcOav25gqTNfVMvUVhU/sp7BvOHHr1Pr4ao3AmTzFLA 52gg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697024841; x=1697629641; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=F2CO58cNkDLoM5uuHoWEqHDI+8aDNQ1qA3on6BCuTZk=; b=OUtnD0huzZt+PsXgZHjq29zbNfxqxArIQS8WWjboka1RPFCPndRn6d+ev2vZaq0M6i vNHw4sq4KxH6dLdqL8ZuXvRCLyHHJvX0sk9QMRY5wHiTneOV4na8OeHOupNEFMDiwbLS EVtrRUALlG5US4xaMIgn69HQhYBygIBiDNFDbt3zjA+1VEV5sBuBTiHp3L60BZOns4Jg sA8tv5neq0wWiEx+vR9Bkyh1xRwdn5ptUjYgUqsF0IenuyP34JTed7dC6Y2f2OZiW79N R3r2ZHelvFJAA74OJpSlDngMNixaKNYI8etSvWsbSPNK3rNt9TGWoUONN964tfjg3iNv HHcw== X-Gm-Message-State: AOJu0YzStBbjsGXt/UwfhSBRA6g61it9HV8ody6ng0STzBoDpeVyRqui 88NdOlPml9+HT2ZtWe8GkYhOJ14PpRBdPnbvORh67Q== X-Received: by 2002:a25:ac09:0:b0:d9a:63f5:10d6 with SMTP id w9-20020a25ac09000000b00d9a63f510d6mr4060901ybi.26.1697024841277; Wed, 11 Oct 2023 04:47:21 -0700 (PDT) MIME-Version: 1.0 References: <6f78e624-62ee-3ae5-1db4-a0411566def8@yandex.ru> <87ttr454bh.fsf@kernel.org> <3c5a3e7a-b332-4a77-51ba-bed3cad1e79f@marcan.st> <87edi14fvp.fsf@kernel.org> In-Reply-To: From: Phil Elwell Date: Wed, 11 Oct 2023 12:47:10 +0100 Message-ID: Subject: Re: On brcm80211 maintenance and support To: Hector Martin Cc: Kalle Valo , Neal Gompa , Dmitry Antipov , "linux-wireless@vger.kernel.org" , "lvc-project@linuxtesting.org" , Arend van Spriel , Franky Lin , Hante Meuleman , SHA-cyfmac-dev-list@infineon.com, brcm80211-dev-list.pdl@broadcom.com, Asahi Linux , LKML , Julian Calaby , Linus Torvalds , Phil Elwell Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Wed, 11 Oct 2023 04:47:28 -0700 (PDT) On Wed, 11 Oct 2023 at 12:28, Hector Martin wrote: > I think we need to qualify this "no regressions" "rule". People regress > our machines in mainline all the time. We catch it and get it fixed, > sometimes in RCs, sometimes it goes all the way to stable and needs to > get fixed there. We've had patches break everything from Bluetooth LE > pairing to core memory management to the point we needed earlycon to > diagnose it. That last one was a blatantly wrong patch to core Linux MM, > it wasn't even something specific to our platform, but even that got > past review (it just happened to break us specifically due to a > coincidence). > > The review process doesn't magically avoid regressing things. "No > regressions" is impossible without someone actually testing things. > Claiming otherwise is dishonest. So if I end up as maintainer here I > certainly am not going to promise "no regressions" for chips I can't > test, without someone interested in those chips testing them. Of course > I'll take regression fixes when they do happen and someone notices, but > I can't know in advance until someone does. > > Consider a patch that changes some codepath in the driver. I can't know > whether the original logic was always broken, or whether it worked on > some chips, and whether the new logic works on those chips or will > regress them, without testing. This is a regular occurrence with > brcmfmac, due to the complexity and variability of the firmware > interface. Often multiple versions of stuff are supported, or some > structures can be extended, but sometimes they can't. It's a mess, and > without firmware source code nor any official specs, there is no way to > know exactly what is intended and what the backwards compatibility > requirements are. > > The only way to avoid that is to gratuitously introduce version/chip > gates for *every single change affecting behavior from the firmware > POV*, which is a complete non-starter and would quickly yield a giant > mess of spaghetti code. It's bad enough having to support explicit > ABI-breaking changes in firmware, and having to deal with multiple > versions of huge structures and convert between them. Trying to outright > keep existing logic identical for "other chips" is just not going to > happen, not without first having confirmation of what the requirements > are from someone who has the required docs/source. > > I have a patch to enable WPA3 in Broadcom chipsets (yes, the driver is > in such a sorry state it doesn't even support that yet). The current > support attempt was added by a Cypress engineer and uses a completely > different firmware mechanism. Is that supposed to actually work? Does it > work currently? Is that the case for all Cypress firmwares? Or only > some? Does the alternate mechanism we have for Broadcom chips work too? > Only Cypress can answer those questions ahead of time, and they aren't > (they ignored me last time I brought this up). So my current patch just > replaces the mechanism with the known-working one for Broadcom chips. > > Next time I send a bunch of our downstream patches, I'm going to resend > that WPA3 patch. And if it regresses Cypress WPA3 support, tough luck. > If someone catches it (Phil?) and it turns out the existing support is > the only way to do things on Cypress, I'll rework the patch to > conditionally support both styles. But if nobody does, and nobody cares, > then I'm sorry if I regress things, but there is no way to avoid it. We > can't be gratuitously gating every single change just to hope to avoid > regressions, without any confirmation of what is required. That just > doesn't scale. > > Phil: Given Cypress' complete apathy towards this driver, if you want > the Cypress chips in Raspberry Pi systems to continue working and catch > potential problems ahead of time, it would be helpful if you can test > the patches in this branch. This is our downstream brcmfmac patchset. > Regardless of what ends up happening with the maintainer situation, > giving this a whirl will be very helpful in catching problems with > systems people actually use. It should be easy to bisect regressions too > (we keep this rebased directly on recent kernels so you can apply it on > top of your tree or whatever). > > https://github.com/asahilinux/linux/tree/bits/080-wifi That sounds like a reasonable starting point - I'll take a look. Phil