]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
wifi: rtw89: sar: do not assert wiphy lock held until probing is done
authorFedor Pchelkin <pchelkin@ispras.ru>
Wed, 4 Jun 2025 16:13:33 +0000 (19:13 +0300)
committerPing-Ke Shih <pkshih@realtek.com>
Tue, 10 Jun 2025 01:42:35 +0000 (09:42 +0800)
rtw89_sar_set_src() may be called at driver early init phase when
applying SAR configuration via ACPI. wiphy lock is not held there.

Since the assertion was initially added for rtw89_apply_sar_common() call
path and may be helpful for other places in future changes, keep it but
move it under RTW89_FLAG_PROBE_DONE test.

Found by Linux Verification Center (linuxtesting.org).

Fixes: 88ca3107d2ce ("wifi: rtw89: sar: add skeleton for SAR configuration via ACPI")
Signed-off-by: Fedor Pchelkin <pchelkin@ispras.ru>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20250604161339.119954-2-pchelkin@ispras.ru
drivers/net/wireless/realtek/rtw89/sar.c

index 33a4b5c23fe7070b0914169da2719d61c5bfcb55..7f568ffb3766f46d0d5f28f06478a4218f0b7cb1 100644 (file)
@@ -199,7 +199,8 @@ struct rtw89_sar_handler rtw89_sar_handlers[RTW89_SAR_SOURCE_NR] = {
                typeof(_dev) _d = (_dev);                               \
                BUILD_BUG_ON(!rtw89_sar_handlers[_s].descr_sar_source); \
                BUILD_BUG_ON(!rtw89_sar_handlers[_s].query_sar_config); \
-               lockdep_assert_wiphy(_d->hw->wiphy);                    \
+               if (test_bit(RTW89_FLAG_PROBE_DONE, _d->flags))         \
+                       lockdep_assert_wiphy(_d->hw->wiphy);            \
                _d->sar._cfg_name = *(_cfg_data);                       \
                _d->sar.src = _s;                                       \
        } while (0)