[PATCH v6 00/11] wifi: ath12k: P2P support for WCN7850
Kang Yang
quic_kangyang at quicinc.com
Tue Feb 6 22:50:40 PST 2024
On 2/5/2024 11:40 PM, Kalle Valo wrote:
> Kang Yang <quic_kangyang at quicinc.com> writes:
>
>> Add P2P support for WCN7850.
>>
>> Kang Yang (11):
>> wifi: ath12k: fix broken structure wmi_vdev_create_cmd
>> wifi: ath12k: fix incorrect logic of calculating vdev_stats_id
>> wifi: ath12k: change interface combination for P2P mode
>> wifi: ath12k: add P2P IE in beacon template
>> wifi: ath12k: implement handling of P2P NoA event
>> wifi: ath12k: implement remain on channel for P2P mode
>> wifi: ath12k: change WLAN_SCAN_PARAMS_MAX_IE_LEN from 256 to 512
>> wifi: ath12k: allow specific mgmt frame tx while vdev is not up
>> wifi: ath12k: move peer delete after vdev stop of station for WCN7850
>> wifi: ath12k: designating channel frequency for ROC scan
>> wifi: ath12k: advertise P2P dev support for WCN7850
>
> I did some quick tests by running various p2p commands with wpa_cli and
> noticed the warning below. We might have some issues with our RCU usage,
> please check. But no need to resend because of this, followup patch
> fixing this is fine.
>
> [ 1108.916980] =============================
> [ 1108.917068] WARNING: suspicious RCU usage
> [ 1108.917151] 6.8.0-rc2-wt-ath+ #1273 Not tainted
> [ 1108.917235] -----------------------------
> [ 1108.917318] drivers/net/wireless/ath/ath12k/mac.c:583 suspicious rcu_dereference_check() usage!
> [ 1108.917400] #012[ 1108.917400] other info that might help us debug this:#012[ 1108.917400]
> [ 1108.917484] #012[ 1108.917484] rcu_scheduler_active = 2, debug_locks = 1
> [ 1108.917566] no locks held by swapper/3/0.
I conducted a simple test, but cannot reproduce.
It seems i need to use rcu_read_lock() and rcu_read_unlock() for
rcu_dereference().
Will fix it in a separate patch.
> [ 1108.917649] #012[ 1108.917649] stack backtrace:
> [ 1108.917729] CPU: 3 PID: 0 Comm: swapper/3 Not tainted 6.8.0-rc2-wt-ath+ #1273
> [ 1108.917810] Hardware name: Intel(R) Client Systems NUC8i7HVK/NUC8i7HVB, BIOS HNKBLi70.86A.0067.2021.0528.1339 05/28/2021
> [ 1108.917892] Call Trace:
> [ 1108.917968] <IRQ>
> [ 1108.918046] dump_stack_lvl+0x82/0xc0
> [ 1108.918132] dump_stack+0x10/0x20
> [ 1108.918206] lockdep_rcu_suspicious+0x210/0x3a0
> [ 1108.918285] ath12k_mac_get_ar_by_vdev_id+0x18e/0x210 [ath12k]
> [ 1108.918403] ath12k_wmi_op_rx+0x2bb/0x1a30 [ath12k]
> [ 1108.918511] ? ath12k_chan_info_event+0x970/0x970 [ath12k]
> [ 1108.918624] ? __lock_acquire+0xd45/0x1de0
> [ 1108.918706] ? __kasan_check_read+0x11/0x20
> [ 1108.918789] ? debug_smp_processor_id+0x17/0x20
> [ 1108.918863] ? __lock_release.isra.0+0x49d/0xae0
> [ 1108.918934] ? debug_smp_processor_id+0x17/0x20
> [ 1108.919007] ? reacquire_held_locks+0x4d0/0x4d0
> [ 1108.919080] ? ath12k_ce_recv_process_cb+0x4b3/0x960 [ath12k]
> [ 1108.919195] ath12k_htc_rx_completion_handler+0x361/0x650 [ath12k]
> [ 1108.919302] ? ath12k_ce_recv_process_cb+0x4b3/0x960 [ath12k]
> [ 1108.919409] ? trace_hardirqs_on+0x49/0x50
> [ 1108.919485] ath12k_ce_recv_process_cb+0x5c6/0x960 [ath12k]
> [ 1108.919591] ? ath12k_ce_rx_post_pipe+0x990/0x990 [ath12k]
> [ 1108.919658] ? __wake_up_bit+0x120/0x120
> [ 1108.919705] ? handle_irq_event+0x10e/0x1c0
> [ 1108.919752] ath12k_ce_per_engine_service+0xda/0x110 [ath12k]
> [ 1108.919817] ath12k_pci_ce_tasklet+0x65/0x120 [ath12k]
> [ 1108.919879] ? trace_tasklet_entry+0xe4/0x110
> [ 1108.919945] tasklet_action_common.isra.0+0x24c/0x3d0
> [ 1108.920007] tasklet_action+0x4f/0x70
> [ 1108.920068] __do_softirq+0x1c2/0x868
> [ 1108.920116] irq_exit_rcu+0xab/0x110
> [ 1108.920159] common_interrupt+0xad/0xd0
> [ 1108.920201] </IRQ>
> [ 1108.920309] <TASK>
> [ 1108.920355] asm_common_interrupt+0x27/0x40
> [ 1108.920399] RIP: 0010:cpuidle_enter_state+0xdc/0x580
> [ 1108.920448] Code: ff ff ff ff 49 89 c7 e8 e2 fa 55 ff 31 ff e8 cb 29 54 fd 80 7d d0 00 0f 85 4a 02 00 00 e8 0c f9 55 ff 84 c0 0f 84 32 02 00 00 <45> 85 f6 0f 88 95 01 00 00 49 63 d6 48 83 fa 0a 0f 83 dd 02 00 00
> [ 1108.920496] RSP: 0018:ffffc900001afd20 EFLAGS: 00000202
> [ 1108.920545] RAX: 000000000065289d RBX: ffff888116413400 RCX: 1ffffffff47726c1
> [ 1108.920593] RDX: 0000000000000000 RSI: ffffffffa2278020 RDI: ffffffffa24176e0
> [ 1108.920639] RBP: ffffc900001afd70 R08: 0000000000000001 R09: fffffbfff4772c1a
> [ 1108.920686] R10: ffffffffa3b960d7 R11: 0000000000000000 R12: ffffffffa34c1740
> [ 1108.920733] R13: 0000000000000002 R14: 0000000000000002 R15: 000001023093b5a2
> [ 1108.920793] cpuidle_enter+0x4a/0xa0
> [ 1108.920840] call_cpuidle+0x42/0xb0
> [ 1108.920882] ? tick_nohz_idle_retain_tick+0x70/0xa0
> [ 1108.920946] cpuidle_idle_call+0x1c9/0x290
> [ 1108.921002] ? arch_cpu_idle_exit+0x30/0x30
> [ 1108.921045] ? debug_smp_processor_id+0x17/0x20
> [ 1108.921092] do_idle+0xfb/0x160
> [ 1108.921137] cpu_startup_entry+0x54/0x60
> [ 1108.921182] start_secondary+0x201/0x290
> [ 1108.921227] ? set_cpu_sibling_map+0x1f20/0x1f20
> [ 1108.921273] secondary_startup_64_no_verify+0x15e/0x16b
> [ 1108.921324] </TASK>
>
>
More information about the ath12k
mailing list