[PATCH ath-next 3/8] wifi: ath10k: also wake peer_delete_done and target_suspend waiters

Vasanthakumar Thiagarajan vasanthakumar.thiagarajan at oss.qualcomm.com
Fri Oct 16 01:15:42 PDT 2026


On 25-09-2026 17:56, Kang Yang wrote:
> ath10k_core_wake_all_waiters() releases callers that would
> otherwise remain blocked after the driver has given up on the
> device.
>
> However, peer_delete_done and target_suspend are not included
> in that list. Callers waiting on either completion therefore
> continue sleeping until their individual timeouts expire,
> even though no further progress can be made.
>
> Add both completions to ath10k_core_wake_all_waiters() so
> blocked callers are released immediately instead of waiting
> for unnecessary timeout delays.
>
> Tested-on: QCA6174 hw3.2 PCI WLAN.RM.4.4.1-00288-QCARMSWPZ-1
>
> Signed-off-by: Kang Yang <kang.yang at oss.qualcomm.com>
> ---
>   drivers/net/wireless/ath/ath10k/core.c | 2 ++
>   1 file changed, 2 insertions(+)
>
> diff --git a/drivers/net/wireless/ath/ath10k/core.c b/drivers/net/wireless/ath/ath10k/core.c
> index be516dc32c1d..f2e457a0fcbe 100644
> --- a/drivers/net/wireless/ath/ath10k/core.c
> +++ b/drivers/net/wireless/ath/ath10k/core.c
> @@ -2500,6 +2500,8 @@ static void ath10k_core_wake_all_waiters(struct ath10k *ar)
>   	complete(&ar->install_key_done);
>   	complete(&ar->vdev_setup_done);
>   	complete(&ar->vdev_delete_done);
> +	complete(&ar->peer_delete_done);
> +	complete(&ar->target_suspend);
>   	complete(&ar->thermal.wmi_sync);
>   	complete(&ar->bss_survey_done);
>   	wake_up(&ar->htt.empty_tx_wq);

How about other waiters such as radar confirmation (radar_confirm) and  
peer_stats (peer_stats_info_complete)?


Vasanth




More information about the ath10k mailing list