ath11k: avoid firmware crash when reg set for QCA6390/WCN6855
authorWen Gong <quic_wgong@quicinc.com>
Wed, 19 Jan 2022 04:13:55 +0000 (23:13 -0500)
committerKalle Valo <quic_kvalo@quicinc.com>
Fri, 28 Jan 2022 12:36:26 +0000 (14:36 +0200)
commit0d6e997b76216ca104167a2a0fb79823a7fa9e97
treeebb0e84f51f6ae59c5e70c827cebfca15b36d5e5
parent1cb747192de2edb7e55920af8c458e4792908486
ath11k: avoid firmware crash when reg set for QCA6390/WCN6855

For the NL80211_REGDOM_SET_BY_USER hint from cfg80211, it set the new
alpha2 code to ath11k, then ath11k send WMI_SET_INIT_COUNTRY_CMDID to
firmware for all chips currently. When test with WCN6855/QCA6390 chips,
this WMI CMD leads firmware crash.

For AP based chips(ipq8074/qcn9074), WMI_SET_INIT_COUNTRY_CMDID is used
to send to firmware, for STATION based chips(WCN6855/QCA6390), it need to
use another WMI CMD WMI_SET_CURRENT_COUNTRY_CMDID.

Add flag current_cc_support in hardware parameters, it is used to
distinguish AP/STA platform. After that, the firmware will work
normal and the regulatory feature works well for QCA6390/WCN6855.

Tested-on: QCA6390 hw2.0 PCI WLAN.HST.1.0.1-01740-QCAHSTSWPLZ_V2_TO_X86-1
Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03003-QCAHSPSWPL_V1_V2_SILICONZ_LITE-2

Signed-off-by: Wen Gong <quic_wgong@quicinc.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://lore.kernel.org/r/20220119041355.32014-1-quic_wgong@quicinc.com
drivers/net/wireless/ath/ath11k/core.c
drivers/net/wireless/ath/ath11k/hw.h
drivers/net/wireless/ath/ath11k/reg.c