]> www.infradead.org Git - users/jedix/linux-maple.git/commit
wifi: ath12k: fix CAC running state during virtual interface start
authorAditya Kumar Singh <quic_adisi@quicinc.com>
Wed, 18 Dec 2024 03:41:33 +0000 (09:11 +0530)
committerJeff Johnson <jeff.johnson@oss.qualcomm.com>
Wed, 8 Jan 2025 00:29:58 +0000 (16:29 -0800)
commit11b86e2ce94278332af8da9c0b560a15c17efd26
tree2327592cdcf99ca2cccd90175a04fa7684bcd5fd
parentd31241cbd9c5d74eb19192e57806e9c9ee3378f7
wifi: ath12k: fix CAC running state during virtual interface start

Currently, the DFS CAC time and the usable state of the primary channel in
the channel definition are used to set the CAC_RUNNING flag for the ath12k
radio structure. However, this approach is flawed because there are channel
definitions where the primary channel is not a DFS channel, but the
secondary channel is. For example, in 5 GHz band, channel 36 with 160 MHz
bandwidth. In such cases, the flag is not set correctly and hence places
where this flag is tested will not operate as expected. For example, Rx
packets will not be dropped.

To fix this issue, use the cfg80211_chandef_dfs_usable() function from
cfg80211, which returns true if at least one channel is in a usable state.
This will ensure the CAC_RUNNING flag is set properly.

Additionally, update the CAC running debug log message to include the CAC
time in milliseconds and also print the center frequency segment 1.

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPL_SILICONZ-1

Signed-off-by: Aditya Kumar Singh <quic_adisi@quicinc.com>
Acked-by: Kalle Valo <kvalo@kernel.org>
Link: https://patch.msgid.link/20241218-ath12k_mlo_dfs-v1-2-058e783bcfc7@quicinc.com
Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
drivers/net/wireless/ath/ath12k/mac.c