From nobody Fri Jan 9 01:03:25 2026 Received: from mail-pl1-f195.google.com (mail-pl1-f195.google.com [209.85.214.195]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 42C8121D3F8 for ; Mon, 5 Jan 2026 00:27:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.195 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767572824; cv=none; b=BI26KmsEvJMsm6rSNyYVlbc7vw4Hr2hka5/c1Byjsn66bci386Q6OQlspZhdVof8Q67w1KQW6RSXi7QhpEr9RvbMrq3RQCAbLvz9WHAteBqIL98vWqLzgdXFCAkaVu5GjF2ivcPMUfNZcAN/H4IDIM5c41F71Lij4GHkFeTbrfw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767572824; c=relaxed/simple; bh=qQiL7A5UoXk1yN80eddElOmaXjRK+jDnvWEcU4/4Qzs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=a1jxChu1vU3nQ4YJBJDMNVwyLwjBkKv71ZZkhW2Xbinl9mXMvJhqlkG+M6GQNq+ZUgkAH90Zj1D6LSS/Ifliks36Ex8MfrV86Vg/H5emondlfuutPova6QnAZdJv9LGB9as3tny45w4Xc0dWLAXl2Gyog8LJureTwoVYHxk4Z7c= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=SPvVzD4U; arc=none smtp.client-ip=209.85.214.195 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="SPvVzD4U" Received: by mail-pl1-f195.google.com with SMTP id d9443c01a7336-2a0bae9aca3so191923025ad.3 for ; Sun, 04 Jan 2026 16:27:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767572822; x=1768177622; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=otlGSXdgNZb8EYSsQOqh3OBybZYoKcQg4yihKraf1p0=; b=SPvVzD4U6t55YPGOgvElsKDwKobMnc8ZErMwUidWI4YmOLqhZ5Ua7NrHsow2800EbY T6X+ag7s2F/rz4Lm1FzcZpB0RUskBcoQvnd+xrLyN9oaAenlBVPfZ5YVOkZjdfmvJkWP dYeZxjiPUsYgxIOvYoAHZj28DsqbzTpU+B6gZfpIsU/3izpT9mfFDhTirC1KzeTarvmn op5Snc7BLKu6FB/pS38PM9A3E6389Xo2AJdiXrk9SteohsdWZo9vB6mFcckKWJTeydqw rW6Gs9jkQN8DoX65LCEl91tOgVoHsnayqvJL//26KJZm1PWvK1BO+964G3htKRfja0Ka /NvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767572822; x=1768177622; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=otlGSXdgNZb8EYSsQOqh3OBybZYoKcQg4yihKraf1p0=; b=mO5k9GjsJDbeHFgulgJIJ4zHSbsRqiNjigyXSZQUYQdK3PUsWC4+IeST5FS7hRWvyW jueDPHLGSI8Tno3dNGIBBcdf/EriXkf9xPpTcHiUOIu1PqUR24BNDa5SwWJc4c5ZYVI3 XY410BzuoycwR6MNFyJz47ODXS2t2T3WJpDNsaxMuKsddV9A3pFpvO1iZGw+Qtb0NVZZ npDaXG2+LfFvDa5Jfl+z+/ztgFPkl19/MStkwwZU7LPjg3DRdzHlStc2bZmnZQf1pJst GAloZFrlPd93Sr/ftSe66WhdmWBWfjJLC3OTxXrdDBI/cbMqsCX3dtt8aTHiw0WsC62p YKhQ== X-Forwarded-Encrypted: i=1; AJvYcCUPNt1Q171CydN+CpPuDnldPQONzy6h2jX99LXLq+x81BcSGDkyfb10aJNYQEI0smov0bP57CVK0Nm9sxA=@vger.kernel.org X-Gm-Message-State: AOJu0YzDthfmTo/L+/BkUgVW3KGpL7PRUDk2RIV5ZyHhf+p0vtj6MGX9 h50u01uQApnlgyV785/9stRtGMS+AzNVQ/RrBjn/QBS6kf1KmpmcNHLA X-Gm-Gg: AY/fxX6p5A96vC3ODi2J92UbEixSb7L2oclg+mR9VcaR6iQsvfH3dvXwmwJgSum65hZ /qPx4NNOsyeVRApyQzPG+FgYtW9+/nkOV3HzVRalTmMzAL1XsRMMYI8CkYuJhqg6kEH3RLTi0PL VIvaNpfGvhCCyEiCdYPiBBjD64/JqRFE+5FUbcR9Yf4yxeBtq/pa9vcMfUBbxZwa/X1gu01BK0p HcYoldbrQwQl4ufMT7j1kvhHV4RvT2Q2B3O1v5Ib/j8CnC487YU1Q82JuljVRXZpRnhbxaQoLFr X9Ihk82dguC+n1jLnBOaqZnMTL5m+97GiszNxaULDO5E0gg8kTG7XSmZA85Yr6+nEzQNHfXPf6Z gH5oKK3hwDQwc5wp9MnD9QIgl9S4A7ordnrNW7V2H+xnX381BakxwUrC8n7h6BZ5vTdeTU+lVRh Mcl7ySo+xRdgzT8WqgSUx7KZt4VSdxEP6db2yQ6FiwaWfH/iY0fHQbuoOJ2iFpTqM= X-Google-Smtp-Source: AGHT+IGoBnLyCx81MR6DWCg6Vhwj+2ECjH4n4qm3rwpzsNEJebHAQdFrXPLCsGc5oHn3E1w7jHt4DQ== X-Received: by 2002:a05:7022:428b:b0:119:e569:fb96 with SMTP id a92af1059eb24-121722ab2c3mr48491836c88.5.1767572822470; Sun, 04 Jan 2026 16:27:02 -0800 (PST) Received: from zubuntu.bengal-mercat.ts.net ([2001:5a8:60d:bc9:9ebf:dff:fe00:f8f2]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-121724de268sm133378109c88.8.2026.01.04.16.27.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 04 Jan 2026 16:27:01 -0800 (PST) From: Zac Bowling To: zbowling@gmail.com Cc: deren.wu@mediatek.com, kvalo@kernel.org, linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org, linux-wireless@vger.kernel.org, lorenzo@kernel.org, nbd@nbd.name, ryder.lee@mediatek.com, sean.wang@mediatek.com Subject: [PATCH 11/17] wifi: mt76: mt7925: add lockdep assertions for mutex verification Date: Sun, 4 Jan 2026 16:26:32 -0800 Message-ID: <20260105002638.668723-12-zbowling@gmail.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260105002638.668723-1-zbowling@gmail.com> References: <20260102200524.290779-1-zbowling@gmail.com> <20260105002638.668723-1-zbowling@gmail.com> 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" Add lockdep_assert_held() calls to critical MCU functions to help catch mutex violations during development and debugging. This follows the pattern used in other mt76 drivers (mt7996, mt7915, mt7615). Functions with new assertions: - mt7925_mcu_add_bss_info(): Core BSS configuration MCU command - mt7925_mcu_sta_update(): Station record update MCU command - mt7925_mcu_uni_bss_ps(): Power save state MCU command These functions modify firmware state and must be called with the device mutex held to prevent race conditions. The lockdep assertions will trigger warnings at runtime if code paths exist that call these functions without proper mutex protection. This aids in detecting the class of bugs fixed by patches in this series. Signed-off-by: Zac Bowling --- drivers/net/wireless/mediatek/mt76/mt7925/mcu.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/wireless/mediatek/mt76/mt7925/mcu.c b/drivers/net/= wireless/mediatek/mt76/mt7925/mcu.c index d61a7fbda745..958ff9da9f01 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7925/mcu.c +++ b/drivers/net/wireless/mediatek/mt76/mt7925/mcu.c @@ -1527,6 +1527,8 @@ int mt7925_mcu_uni_bss_ps(struct mt792x_dev *dev, }, }; =20 + lockdep_assert_held(&dev->mt76.mutex); + if (link_conf->vif->type !=3D NL80211_IFTYPE_STATION) return -EOPNOTSUPP; =20 @@ -2037,6 +2039,8 @@ int mt7925_mcu_sta_update(struct mt792x_dev *dev, struct mt792x_sta *msta; struct mt792x_link_sta *mlink; =20 + lockdep_assert_held(&dev->mt76.mutex); + if (link_sta) { msta =3D (struct mt792x_sta *)link_sta->sta->drv_priv; mlink =3D mt792x_sta_to_link(msta, link_sta->link_id); @@ -2843,6 +2847,8 @@ int mt7925_mcu_add_bss_info(struct mt792x_phy *phy, struct mt792x_link_sta *mlink_bc; struct sk_buff *skb; =20 + lockdep_assert_held(&dev->mt76.mutex); + skb =3D __mt7925_mcu_alloc_bss_req(&dev->mt76, &mconf->mt76, MT7925_BSS_UPDATE_MAX_SIZE); if (IS_ERR(skb)) --=20 2.51.0