ath10k: use num_pending_tx instead of msdu id bitmap
It's more efficient to simply check num_pending_tx value instead of traversing whole bitmap of msdu ids. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
This commit is contained in:
parent
1073ab2e9b
commit
0945baf7d4
|
@ -2853,8 +2853,7 @@ static void ath10k_flush(struct ieee80211_hw *hw, u32 queues, bool drop)
|
||||||
bool empty;
|
bool empty;
|
||||||
|
|
||||||
spin_lock_bh(&ar->htt.tx_lock);
|
spin_lock_bh(&ar->htt.tx_lock);
|
||||||
empty = bitmap_empty(ar->htt.used_msdu_ids,
|
empty = (ar->htt.num_pending_tx == 0);
|
||||||
ar->htt.max_num_pending_tx);
|
|
||||||
spin_unlock_bh(&ar->htt.tx_lock);
|
spin_unlock_bh(&ar->htt.tx_lock);
|
||||||
|
|
||||||
skip = (ar->state == ATH10K_STATE_WEDGED);
|
skip = (ar->state == ATH10K_STATE_WEDGED);
|
||||||
|
|
|
@ -96,7 +96,7 @@ exit:
|
||||||
htt->pending_tx[ATH10K_SKB_CB(txdesc)->htt.msdu_id] = NULL;
|
htt->pending_tx[ATH10K_SKB_CB(txdesc)->htt.msdu_id] = NULL;
|
||||||
ath10k_htt_tx_free_msdu_id(htt, ATH10K_SKB_CB(txdesc)->htt.msdu_id);
|
ath10k_htt_tx_free_msdu_id(htt, ATH10K_SKB_CB(txdesc)->htt.msdu_id);
|
||||||
__ath10k_htt_tx_dec_pending(htt);
|
__ath10k_htt_tx_dec_pending(htt);
|
||||||
if (bitmap_empty(htt->used_msdu_ids, htt->max_num_pending_tx))
|
if (htt->num_pending_tx == 0)
|
||||||
wake_up(&htt->empty_tx_wq);
|
wake_up(&htt->empty_tx_wq);
|
||||||
spin_unlock_bh(&htt->tx_lock);
|
spin_unlock_bh(&htt->tx_lock);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue