From nobody Mon Feb 9 11:05:03 2026 Received: from mail-dy1-f193.google.com (mail-dy1-f193.google.com [74.125.82.193]) (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 AF5D536CE09 for ; Tue, 20 Jan 2026 06:29:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.193 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768890550; cv=none; b=rl+Mx/yWLSOaFqxjWDUOjENPANBcRWRV2gt9O6zVr6moxl4u6xWhkGfMgZXd4ra/ya8ajSs3FgTi73QJFBnjCF/JKezRpkU6jZgOnqhDV02oIhQMK5SoaE22LI4qRzER5SKm3XsuUe9c03g+KSefhoM+MTKceQots/Tdxje+FJ4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768890550; c=relaxed/simple; bh=cJcXyjEZSUQDGUOvvl04ViXnS4Gd51j6mnYPp5zBgFI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=nJvgKgDAbAFaja57+6dLHypoTiYZWbqk6a7l7hdZoskk8HF1e8j1Ls9rfMYOrvFf0TaZbGHyEruIOXdjvTgTyr1md9zQV1MbQLCeQ4+B1hj8m+dV9mGjnLUUcNy/k6Ory0OsCQCqrawzkDMKY4JogjuoBW2Zl8xyEKELmTBSWbc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=zacbowling.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=giqAmU8x; arc=none smtp.client-ip=74.125.82.193 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=zacbowling.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="giqAmU8x" Received: by mail-dy1-f193.google.com with SMTP id 5a478bee46e88-2b6bf6adc65so4982909eec.0 for ; Mon, 19 Jan 2026 22:29:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1768890548; x=1769495348; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:from:to:cc:subject:date :message-id:reply-to; bh=Yt1mPPXw8aFoKYpC5Tia09ZY3lzzrV+SydYHdLpjRKk=; b=giqAmU8xx9py7oVzsuNrxu3G+ede94Itd42sMGeY5FRQJe/y0gza5szqSxyZNIaeq6 Zn8Q6INsmYnS4lr0ZD0UM/XtZHnthQurpa+XMncZPuuCINA2XfNvhyw0g1yqJ6k7MOW9 gB+xCKuVqBk2p9ExMNx9fsLw9TL+stbmOKAfZhFmI2QanKzowPbnBOIZSProq1aeMYhg ha1qaclIZJDhsl6RTabzm/tgCqqgd3NuqtTHnQEEdENK5YlXJSvCkb8bevcVE5riDtS5 bVuCoT24nkploeWbDcXjc3T7pqOLw7ScZ0ufPla3FmeeYV+E9i7WMVGVIYEt9OfYUdO/ lmTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768890548; x=1769495348; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Yt1mPPXw8aFoKYpC5Tia09ZY3lzzrV+SydYHdLpjRKk=; b=lhFdIhpOrfpewp2tlofencYpMSdLGJDDZBJHjjF1VIVhfIFH0ApZyTQfPeHPFUbtY7 ZWEIpnKPLcCyIaAMMDkfqsr9ZTKXVY1qpkrEkmwj4L8o7d675qQoZeoh48AV+CyjaciE 9ED9Cvny/ty58i1IUO5J4WK+aKku2+zAiculvpHcn9hanpF5Or/XRGBqrXGhg8Gw58qa BzYxOwPRd0F/fscIZvBostcfMwQebVR+E7TuKVPV65tYI7/ToaTrTwn36futvI9zONjA QXZlWY3XqkGN8xMyoSwFd1G5rbv1fV+XR9d6gEy98R6Nb5d+2B7T7owPK3bSirT6mKLa XTnw== X-Forwarded-Encrypted: i=1; AJvYcCVi/YznpP/0tnz2lD+yEpbdJCljbbQqDWxjwLmEeSug4vJRDuLQsNLKvrcc6IiF50+7fI+HrwKqSEQSLkU=@vger.kernel.org X-Gm-Message-State: AOJu0YzkTm/jewE97A+cUACp6ik7SKgaRPukU57oJK4D2VZlSYtS1Kf0 YbCGX45J1oEYNsN6avjD6LM2wKbWpFz32/TKXlsIpx4fd4zvmbgFT5x5 X-Gm-Gg: AZuq6aIKu31ZCu5nk5YYEyUrYAO717gHOOdtDWwrfGFI9Z4+/GGjSEw2dfk1k+2Unft 1QipEfT3e6jCsUWRtd7GFHEoWH6uOFvsC/qU1CK6fRG1sizVdazPmqoTpdfe6CdvCSZa8OqPd73 eoyI2fb2uVZd6WviRwIEzsoBWGD/X2zrjGXUOH4B9d6NehinMVsAfEEbB+YLsByTCC2/508eXCi zoOtw7naEZbpN+MVqGkBFn+W3Qh9JsMp8t1Wn6zFAnEdA+ZRRaydyA0eG8/JO/oY2ve3g6zrohZ K8orH4P9zzURx7AZ8//T9Eruz44X8pbxxAMpqyQMxXyYoWwfMPnVurJgHW85LQMv5E3Q4sdLvJx 7H+cdiG8XtA6gzpncqQ4kwqNjlq2EZBUxfySKkThsrB1F/RmhvLSCH6Mhjc/x8Ydj8IxcRTrKD9 sr27+b89GTeV92xr96LMd3EOD/JSsY9/7Ig6q+PmytfdJE8whBMOhIeCe22Och X-Received: by 2002:a05:7300:54d:b0:2a4:3593:ddd9 with SMTP id 5a478bee46e88-2b6b46c69ebmr9563555eec.6.1768890547673; Mon, 19 Jan 2026 22:29:07 -0800 (PST) Received: from zcache.home.zacbowling.com ([2001:5a8:60d:bc9:f31e:1cb:296a:cc2a]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2b6b3502c91sm15706784eec.9.2026.01.19.22.29.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 19 Jan 2026 22:29:07 -0800 (PST) Sender: Zac Bowling From: Zac To: sean.wang@kernel.org 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, stable@vger.kernel.org, linux@frame.work, zbowling@gmail.com, Zac Bowling Subject: [PATCH 08/11] wifi: mt76: mt7925: add lockdep assertions for mutex verification Date: Mon, 19 Jan 2026 22:28:51 -0800 Message-ID: <20260120062854.126501-9-zac@zacbowling.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260120062854.126501-1-zac@zacbowling.com> References: <20260120062854.126501-1-zac@zacbowling.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" From: Zac Bowling 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 94ec62a4538a..1c58b0be2be4 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7925/mcu.c +++ b/drivers/net/wireless/mediatek/mt76/mt7925/mcu.c @@ -1532,6 +1532,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 @@ -2047,6 +2049,8 @@ int mt7925_mcu_sta_update(struct mt792x_dev *dev, struct mt792x_sta *msta; struct mt792x_link_sta *mlink =3D NULL; =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); @@ -2853,6 +2857,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.52.0