Michal Kazior <michal.kazior@xxxxxxxxx> 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@xxxxxxxxx> [...] > 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 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html