Currently there are two threads to updating/fetch data of channel list, and there are no synchronization for the data, it leads data out of sync for channel list for reg update. So change the call flow to make sure the fetch data running after the update data finished, then data of channel list become synchronization. Fixes: f45cb6b29cd3 ("wifi: ath11k: avoid deadlock during regulatory update in ath11k_regd_update()") Wen Gong (2): wifi: ath11k: move update channel list from update reg worker to reg notifier wifi: ath11k: move udpate channel list to worker for wait flag drivers/net/wireless/ath/ath11k/core.c | 1 + drivers/net/wireless/ath/ath11k/core.h | 4 + drivers/net/wireless/ath/ath11k/mac.c | 13 ++++ drivers/net/wireless/ath/ath11k/reg.c | 100 ++++++++++++++++--------- drivers/net/wireless/ath/ath11k/reg.h | 1 + drivers/net/wireless/ath/ath11k/wmi.h | 1 + 6 files changed, 86 insertions(+), 34 deletions(-) base-commit: 5aa9ff08c0b71be15a607341fa5344546e19ceb2 -- 2.31.1