[PATCH 5/7] ath10k: improve beacon submission latency

Kalle Valo kvalo at qca.qualcomm.com
Thu Sep 12 12:47:36 EDT 2013


Michal Kazior <michal.kazior at tieto.com> writes:

> The patch prevents beacon misses in some case of
> heavy load on a system.
>
> If a beacon can't be transmitted directly from an
> SWBA event it will be left in arvif->beacon and
> transmission will be retried once TX credits
> become available.
>
> Signed-off-by: Michal Kazior <michal.kazior at tieto.com>

[...]

>  static void ath10k_wmi_op_ep_tx_credits(struct ath10k *ar)
>  {
> +	ath10k_wmi_tx_beacons_nowait(ar);
>  	wake_up(&ar->wmi.tx_credits_wq);
>  }
>  
> @@ -131,6 +174,7 @@ static int ath10k_wmi_cmd_send(struct ath10k *ar, struct sk_buff *skb,
>  	int ret = -EINVAL;
>  
>  	wait_event_timeout(ar->wmi.tx_credits_wq, ({
> +		ath10k_wmi_tx_beacons_nowait(ar);
>  		ret = ath10k_wmi_cmd_send_nowait(ar, skb, cmd_id);
>  		(ret != -EAGAIN);

Please add a short comment to both calls of
ath10k_wmi_tx_beacons_nowait(). Something like "first transmit all
pending beacons" or similar.

-- 
Kalle Valo



More information about the ath10k mailing list