From nobody Mon Sep 28 05:48:45 2026 Received: from smtp-relay-internal-1.canonical.com (smtp-relay-internal-1.canonical.com [185.125.188.123]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0CC9131ED93 for ; Wed, 26 Aug 2026 04:37:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.125.188.123 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787719077; cv=none; b=m2/d5d52xAoLuIivILg2w3Wa5v4wpJECLYEieC8G4ZwpC8cmCzcpUq1BFXuLJvQGjr7DMtksOJY8fMBQW0rYdjTk6kjJR3BLEnISjV7htmj//fwD2jgsr/SamFDJsCBa5QHK1GdIxoNRd1J3GEw7q2JF1m1r21Cx6VjYxIFz/cU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787719077; c=relaxed/simple; bh=/g9FNVpJFBTGteq2CpSMswCcminucOoC+wL4dgF/P4k=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=jgQdT97ZpCVdqFvPjS+pKtSPfutBUIrDlhp+WYLtrLJ4yQoBluWe4YDn/RdHSWO1giaoOE2Sh9LuGm79ARTnnWf49z/CiOY7H2h+l4ovS1olzf7AhRwn6ZgtbXE09ldHHUpsDupdJCI/J7zlZedt2Uj/RuIrfg4YlVlOCwXlOZA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=canonical.com; spf=pass smtp.mailfrom=canonical.com; dkim=pass (4096-bit key) header.d=canonical.com header.i=@canonical.com header.b=JzV68nQW; arc=none smtp.client-ip=185.125.188.123 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=canonical.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=canonical.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (4096-bit key) header.d=canonical.com header.i=@canonical.com header.b="JzV68nQW" Received: from mail-pj1-f72.google.com (mail-pj1-f72.google.com [209.85.216.72]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-1.canonical.com (Postfix) with ESMTPS id CA6BD3F8B8 for ; Wed, 26 Aug 2026 04:37:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20251003; t=1787719065; bh=RYhyGaWYmpci56QhJSuWVc944fdh64JWw/7VVEY/WQ0=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=JzV68nQWsfORF3qNKEvOtpwr1ABOvX3CK5TIaFGZCRvs23PHiIRDLq4fzzLcdNYQQ E26yh+St3jbZlisIlB05T4FuLPZK/pmWzBRVp2+7mMXbOUrMwaTSYSQkH+sMfOEoE8 bs1+um86oXtgsH7nT9EGMA9IOskzKqRpdbKbMwPDqetgv0Mei4gIDuP2zgstiBAsIL KHynBj5xcNlMT6Eu4b13OpYtDL4wvZtXqd7lNDC5ou21qaHyxXaDI0YPA/CakQlkHr MjZhafSzfxDYj/YT2uIDR2mGn8NYjrWkB7VZqLauVJK2oRQQjS65JMEeLXVT0fVZg0 KmYUZ0Ho9yx4aqYIPdHxthehupdxvfPXlrl1QN2somPnqYLjk2kqPLDup99h2/dGzs J7j2UYH9IGfaXvR7TDPLYCSAUe4OBMbUlhQqSjT/yfciuadSxTDOjG7kGF9iW7YY+u Nnhpwb9whccraxcC4urUGI5rP1cIjKDfaWYnn6HIP9eP1naq9JsEZoS5UBDBaTDKp7 TVT13w3H9yZh+qp59Nsl4BGejWx5u7um8K/Wxr6hSYT0Ioo0dKGk2f/kFMitxIeenY K2UTKoW6wuYX/d9z8bSLtTQSyqtrF9eQAE/y/qYXqrbin0pKhy8XViYe4UPkjLMTPH d2R5al5HWA4ZdWsst8C0UP38= Received: by mail-pj1-f72.google.com with SMTP id 98e67ed59e1d1-38e8e864ef0so523832a91.0 for ; Tue, 25 Aug 2026 21:37:45 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787719064; x=1788323864; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=RYhyGaWYmpci56QhJSuWVc944fdh64JWw/7VVEY/WQ0=; b=Y3IQWfnf/7joZjWUQg/oGvEfWtsn1VBSdM888xS8/74S7Q/mOw6wZtiq+VTUQwj/H7 hw78N3mhZN2eSpNKbMGJUrX9I/1A+QDtwdj0xqoCuENPMSqBKa8gQDGuXwXQ5lf2cMnX +5yi0fpaeSMuj4mlCWpFERhWH5GTIlUvC/gDcGcjySjGF0IeyUBGb7kNKrpBFcWi/HfB jO0aTaqW+u/MJQI9IHA+5CuKnL90sefWxu3HXIJ/RlY0D1BaiJh60puDr1Dk/cZ7Vj0H nbGdA1P/eONgaVA/h2eCHtX+Pitb5I8vfSYkMAEHGs2Rf0wYqbHnck+ZDkL9h56G753o 43pg== X-Forwarded-Encrypted: i=1; AHgh+RoYEFViJ7eZHnPYV9QzOoZJo9BxQY0TxwVrhHjAb4MYdETiK2pAWQH4vVoCyw46uNLUN66BF1jLEHKpW+g=@vger.kernel.org X-Gm-Message-State: AFuF++nROlF7fYdCYO9T6heyYlqhhtoOz+XRl7zSvGHhVHtVMy0I5hka BCAxvbMjabgphy5GBW4tUU7bu0Qvh9DmpLS+4q60GgzU/MXjBAYw5ZQpzcECmMQAxno3c3R1wIF NQh9sL64zQzvy+//U0MxQpc84lfY/kpEnUSPA2yJT4W2Jk/PsV/3dTSA7MrT8sF5tbFqa0zuxJb vFvnos9w== X-Gm-Gg: AR+sD13Nn807ny+BvVSBovWisT76stlYMmRh36GWwXbmCkctLbX2YucThzYqaX837WD VLasdRlXWi8IGUDGJb28Hk3TSbU55QMEfc+dvudIv14TrLKfDJn5AnQZrTqrVavA5E+th4jiPz+ RDP63aCvw0nnqwmXCSF3ivggJKA9/6t/FTI7o4q0iUnbrLaCDXntBW+qgzrlop2C1NWaB6ibyFS vF6sEHnBcds391gwMmPx6/Csr7cEcfZCMr7adWTPkMfoxUL3UH5aB9eHsRSfVRtfHCPQubYavhC Pfs2TkGGlTeSes8Uh2HFkM46M0Lvk7N16qT4H481asNTEGdRmn75qDz8XM+Vz5qdy03UFj2wbrE Z2VNwYUdkTEaGG+sCrCN376DaO4Z6Tpga+S3ancTvfmgU9vWWzk8up4ulSYMpXgJQV4OR0Zbf+l t8/Jhtyjb6tvn4c5mcr/d1Gn3d4mzLoffJ2QrK4Q== X-Received: by 2002:a17:90b:1fc3:b0:38e:9eb2:9d43 with SMTP id 98e67ed59e1d1-3966d5c1384mr8498996a91.16.1787719063978; Tue, 25 Aug 2026 21:37:43 -0700 (PDT) X-Received: by 2002:a17:90b:1fc3:b0:38e:9eb2:9d43 with SMTP id 98e67ed59e1d1-3966d5c1384mr8498836a91.16.1787719063361; Tue, 25 Aug 2026 21:37:43 -0700 (PDT) Received: from u-ThinkPad-X1-Extreme-Gen-4i ([103.155.100.7]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-396689fa52csm2423547a91.12.2026.08.25.21.37.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Aug 2026 21:37:42 -0700 (PDT) From: Aaron Ma To: Felix Fietkau , Lorenzo Bianconi , Ryder Lee , Matthias Brugger , AngeloGioacchino Del Regno , linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Shayne Chen , Sean Wang , Ming Yen Hsieh , Stefan Bader , Edoardo Canepa , Mehmet Basaran , ElXreno , Leon Yen , Jack Kao , Aaron Ma , Michael Lo , "Chia-Lin Kao (AceLan)" , Deren Wu , linux-arm-kernel@lists.infradead.org (moderated list:ARM/Mediatek SoC support), linux-mediatek@lists.infradead.org (moderated list:ARM/Mediatek SoC support) Subject: [PATCH] wifi: mt76: mt7925: restore the legacy BSS after MLO teardown Date: Wed, 26 Aug 2026 12:36:58 +0800 Message-ID: <20260826043658.2255553-1-aaron.ma@canonical.com> X-Mailer: git-send-email 2.53.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Removing the last link of an MLD interface leaves the firmware with the MLD BSS and DEV entry: the removal loop skips the deflink, and the hweight16(mvif->valid_links) fallback reads the stale pre-update valid_links, which is still non-zero. The entry keeps the per-link MAC address, so every subsequent legacy association fails authentication until the interface is removed or the module is reloaded. Remove the deflink BSS and add it back as a legacy BSS on the transition to zero links. Fixes: 69acd6d910b0 ("wifi: mt76: mt7925: add mt7925_change_vif_links") Signed-off-by: Aaron Ma --- drivers/net/wireless/mediatek/mt76/mt7925/main.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/drivers/net/wireless/mediatek/mt76/mt7925/main.c b/drivers/net= /wireless/mediatek/mt76/mt7925/main.c index e7e6d20848d27..bb93008d3d75e 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7925/main.c +++ b/drivers/net/wireless/mediatek/mt76/mt7925/main.c @@ -2036,6 +2036,21 @@ mt7925_change_vif_links(struct ieee80211_hw *hw, str= uct ieee80211_vif *vif, =20 mvif->valid_links =3D new_links; =20 + /* The firmware would keep the MLD BSS and DEV entry: the removal + * loop skips the deflink and the hweight16() fallback above reads + * the stale pre-update valid_links. Restore the legacy BSS. + */ + if (old_links && !new_links) { + mt792x_mac_link_bss_remove(dev, &mvif->bss_conf, + &mvif->sta.deflink); + err =3D mt7925_mac_link_bss_add(dev, &vif->bss_conf, + &mvif->sta.deflink); + if (err < 0) { + mt792x_mutex_release(dev); + return err; + } + } + mt792x_mutex_release(dev); =20 return 0; --=20 2.53.0