wifi: ath11k: change complete() to complete_all() for scan.completed
authorWen Gong <quic_wgong@quicinc.com>
Mon, 19 Sep 2022 13:06:03 +0000 (16:06 +0300)
committerKalle Valo <quic_kvalo@quicinc.com>
Thu, 22 Sep 2022 07:15:51 +0000 (10:15 +0300)
commit7855a6ed5cf77bf2ce4f5735103749b845489fa6
tree08f9b089ed69d15162bcd933b1db5beab2b67bc9
parent69ccee619a38f223308d5da43f0926ac9ca10182
wifi: ath11k: change complete() to complete_all() for scan.completed

Currently commit 1f682dc9fb37 ("ath11k: reduce the wait time of 11d scan
and hw scan while add interface") introduced a wait_for_completion_timeout
operation for ar->scan.completed, another one is existed in ath11k_scan_stop(),
then ath11k has two places to wait for the ar->scan.completed and they
run in different thread, thus it is possible to happend that the two
thread both enter wait status. To handle this scenario, ath11k should
change the complete() to complete_all() for the ar->scan.completed. This
also work well when it is only one thread wait for ar->scan.completed.

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>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://lore.kernel.org/r/20220919024413.25083-1-quic_wgong@quicinc.com
drivers/net/wireless/ath/ath11k/core.c
drivers/net/wireless/ath/ath11k/mac.c