]> git.baikalelectronics.ru Git - kernel.git/commit
ath11k: add synchronization operation between reconfigure of mac80211 and ath11k_base
authorWen Gong <quic_wgong@quicinc.com>
Mon, 21 Mar 2022 11:16:57 +0000 (13:16 +0200)
committerKalle Valo <quic_kvalo@quicinc.com>
Wed, 23 Mar 2022 08:56:37 +0000 (10:56 +0200)
commit47e41898b4a6e650cba108ffbb48b15c1f8e3683
treede9af4c36857242fa1f3f1f8cce234cf310f55dc
parent3e0755cdb71dbd4d85820fcaa34a08dbc3deaecf
ath11k: add synchronization operation between reconfigure of mac80211 and ath11k_base

ieee80211_reconfig() of mac80211 is the main function for recovery of
each ieee80211_hw and ath11k, and ath11k_core_reconfigure_on_crash()
is the main function for recovery of ath11k_base, it has more than
one ieee80211_hw and ath11k for each ath11k_base, so it need to add
synchronization between them, otherwise it has many issue.

For example, when ath11k_core_reconfigure_on_crash() is not complete,
mac80211 send a hw scan request to ath11k, it leads firmware crash,
because firmware has not been initialized at that moment, firmware
is only finished downloaded and loaded, it can not receive scan
command.

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/20220228064606.8981-3-quic_wgong@quicinc.com
drivers/net/wireless/ath/ath11k/core.c
drivers/net/wireless/ath/ath11k/core.h
drivers/net/wireless/ath/ath11k/mac.c