diff mbox series

[rtw-next,v2,1/2] wifi: rtw89: sar: drop lockdep assertion in rtw89_set_sar_from_acpi

Message ID 20250604161339.119954-1-pchelkin@ispras.ru
State Superseded
Headers show
Series [rtw-next,v2,1/2] wifi: rtw89: sar: drop lockdep assertion in rtw89_set_sar_from_acpi | expand

Commit Message

Fedor Pchelkin June 4, 2025, 4:13 p.m. UTC
The following assertion is triggered on the rtw89 driver startup. It
looks meaningless to hold wiphy lock on the early init stage so drop the
assertion.

 WARNING: CPU: 7 PID: 629 at drivers/net/wireless/realtek/rtw89/sar.c:502 rtw89_set_sar_from_acpi+0x365/0x4d0 [rtw89_core]
 CPU: 7 UID: 0 PID: 629 Comm: (udev-worker) Not tainted 6.15.0+ #29 PREEMPT(lazy)
 Hardware name: LENOVO 21D0/LNVNB161216, BIOS J6CN50WW 09/27/2024
 RIP: 0010:rtw89_set_sar_from_acpi+0x365/0x4d0 [rtw89_core]
 Call Trace:
  <TASK>
  rtw89_sar_init+0x68/0x2c0 [rtw89_core]
  rtw89_core_init+0x188e/0x1e50 [rtw89_core]
  rtw89_pci_probe+0x530/0xb50 [rtw89_pci]
  local_pci_probe+0xd9/0x190
  pci_call_probe+0x183/0x540
  pci_device_probe+0x171/0x2c0
  really_probe+0x1e1/0x890
  __driver_probe_device+0x18c/0x390
  driver_probe_device+0x4a/0x120
  __driver_attach+0x1a0/0x530
  bus_for_each_dev+0x10b/0x190
  bus_add_driver+0x2eb/0x540
  driver_register+0x1a3/0x3a0
  do_one_initcall+0xd5/0x450
  do_init_module+0x2cc/0x8f0
  init_module_from_file+0xe1/0x150
  idempotent_init_module+0x226/0x760
  __x64_sys_finit_module+0xcd/0x150
  do_syscall_64+0x94/0x380
  entry_SYSCALL_64_after_hwframe+0x76/0x7e

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>
---

v2: no changes

 drivers/net/wireless/realtek/rtw89/sar.c | 2 --
 1 file changed, 2 deletions(-)

Comments

Ping-Ke Shih June 10, 2025, 1:44 a.m. UTC | #1
Fedor Pchelkin <pchelkin@ispras.ru> wrote:

> The following assertion is triggered on the rtw89 driver startup. It
> looks meaningless to hold wiphy lock on the early init stage so drop the
> assertion.
> 
>  WARNING: CPU: 7 PID: 629 at drivers/net/wireless/realtek/rtw89/sar.c:502 rtw89_set_sar_from_acpi+0x365/0x4d0 [rtw89_core]
>  CPU: 7 UID: 0 PID: 629 Comm: (udev-worker) Not tainted 6.15.0+ #29 PREEMPT(lazy)
>  Hardware name: LENOVO 21D0/LNVNB161216, BIOS J6CN50WW 09/27/2024
>  RIP: 0010:rtw89_set_sar_from_acpi+0x365/0x4d0 [rtw89_core]
>  Call Trace:
>   <TASK>
>   rtw89_sar_init+0x68/0x2c0 [rtw89_core]
>   rtw89_core_init+0x188e/0x1e50 [rtw89_core]
>   rtw89_pci_probe+0x530/0xb50 [rtw89_pci]
>   local_pci_probe+0xd9/0x190
>   pci_call_probe+0x183/0x540
>   pci_device_probe+0x171/0x2c0
>   really_probe+0x1e1/0x890
>   __driver_probe_device+0x18c/0x390
>   driver_probe_device+0x4a/0x120
>   __driver_attach+0x1a0/0x530
>   bus_for_each_dev+0x10b/0x190
>   bus_add_driver+0x2eb/0x540
>   driver_register+0x1a3/0x3a0
>   do_one_initcall+0xd5/0x450
>   do_init_module+0x2cc/0x8f0
>   init_module_from_file+0xe1/0x150
>   idempotent_init_module+0x226/0x760
>   __x64_sys_finit_module+0xcd/0x150
>   do_syscall_64+0x94/0x380
>   entry_SYSCALL_64_after_hwframe+0x76/0x7e
> 
> 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>

2 patch(es) applied to rtw-next branch of rtw.git, thanks.

6fe21445f7e8 wifi: rtw89: sar: drop lockdep assertion in rtw89_set_sar_from_acpi
dad7aafa5216 wifi: rtw89: sar: do not assert wiphy lock held until probing is done

---
https://github.com/pkshih/rtw.git
diff mbox series

Patch

diff --git a/drivers/net/wireless/realtek/rtw89/sar.c b/drivers/net/wireless/realtek/rtw89/sar.c
index 517b66022f18..33a4b5c23fe7 100644
--- a/drivers/net/wireless/realtek/rtw89/sar.c
+++ b/drivers/net/wireless/realtek/rtw89/sar.c
@@ -499,8 +499,6 @@  static void rtw89_set_sar_from_acpi(struct rtw89_dev *rtwdev)
 	struct rtw89_sar_cfg_acpi *cfg;
 	int ret;
 
-	lockdep_assert_wiphy(rtwdev->hw->wiphy);
-
 	cfg = kzalloc(sizeof(*cfg), GFP_KERNEL);
 	if (!cfg)
 		return;