[PATCH] wifi: ath11k: use work queue to process beacon tx event

Kalle Valo kvalo at kernel.org
Thu Jun 27 14:01:15 PDT 2024


Jeff Johnson <quic_jjohnson at quicinc.com> writes:

> On 6/25/2024 10:35 PM, Kang Yang wrote:
>
>> Commit 3a415daa3e8b ("wifi: ath11k: add P2P IE in beacon template")
>> from Feb 28, 2024 (linux-next), leads to the following Smatch static
>> checker warning:
>> 
>> drivers/net/wireless/ath/ath11k/wmi.c:1742 ath11k_wmi_p2p_go_bcn_ie()
>> warn: sleeping in atomic context
>> 
>> The reason is that ath11k_bcn_tx_status_event() will directly call might
>> sleep function ath11k_wmi_cmd_send() during RCU read-side critical
>> sections. The call trace is like:
>> 
>> ath11k_bcn_tx_status_event()
>> -> rcu_read_lock()
>> -> ath11k_mac_bcn_tx_event()
>> 	-> ath11k_mac_setup_bcn_tmpl()
>> 	……
>> 		-> ath11k_wmi_bcn_tmpl()
>> 			-> ath11k_wmi_cmd_send()
>> -> rcu_read_unlock()
>> 
>> Commit 886433a98425 ("ath11k: add support for BSS color change") added the
>> ath11k_mac_bcn_tx_event(), commit 01e782c89108 ("ath11k: fix warning
>> of RCU usage for ath11k_mac_get_arvif_by_vdev_id()") added the RCU lock
>> to avoid warning but also introduced this BUG.
>> 
>> Use work queue to avoid directly calling ath11k_mac_bcn_tx_event()
>> during RCU critical sections. No need to worry the deletion of vif.
>
> comment nit:
> s/worry the deletion of vif. Because/worry about the deletion of vif because/
>
> Kalle can apply this to pending

Yup, fixed.

-- 
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches



More information about the ath11k mailing list