]> www.infradead.org Git - users/jedix/linux-maple.git/commit
wifi: ath11k: update channel list in worker when wait flag is set
authorWen Gong <quic_wgong@quicinc.com>
Fri, 17 Jan 2025 06:17:37 +0000 (14:17 +0800)
committerJeff Johnson <jeff.johnson@oss.qualcomm.com>
Thu, 6 Feb 2025 00:14:18 +0000 (16:14 -0800)
commit02aae8e2f957adc1b15b6b8055316f8a154ac3f5
tree2d8e41f4156043984e5aac9ef58af0dd0262a257
parent933ab187e679e6fbdeea1835ae39efcc59c022d2
wifi: ath11k: update channel list in worker when wait flag is set

With previous patch "wifi: ath11k: move update channel list from update
reg worker to reg notifier", ath11k_reg_update_chan_list() will be
called during reg_process_self_managed_hint().

reg_process_self_managed_hint() will hold rtnl_lock all the time.
But ath11k_reg_update_chan_list() may increase the occupation time of
rtnl_lock, because when wait flag is set, wait_for_completion_timeout()
will be called during 11d/hw scan.

Should minimize the occupation time of rtnl_lock as much as possible
to avoid interfering with rest of the system. So move the update channel
list operation to a new worker, so that wait_for_completion_timeout()
won't be called and will not increase the occupation time of rtnl_lock.

Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3

Signed-off-by: Wen Gong <quic_wgong@quicinc.com>
Co-developed-by: Kang Yang <quic_kangyang@quicinc.com>
Signed-off-by: Kang Yang <quic_kangyang@quicinc.com>
Reviewed-by: Aditya Kumar Singh <quic_adisi@quicinc.com>
Link: https://patch.msgid.link/20250117061737.1921-3-quic_kangyang@quicinc.com
Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
drivers/net/wireless/ath/ath11k/core.c
drivers/net/wireless/ath/ath11k/core.h
drivers/net/wireless/ath/ath11k/mac.c
drivers/net/wireless/ath/ath11k/reg.c
drivers/net/wireless/ath/ath11k/reg.h
drivers/net/wireless/ath/ath11k/wmi.h