ath10k: use num_pending_tx instead of msdu id bitmap
authorMichal Kazior <michal.kazior@tieto.com>
Wed, 18 Sep 2013 12:43:18 +0000 (14:43 +0200)
committerKalle Valo <kvalo@qca.qualcomm.com>
Fri, 20 Sep 2013 05:18:09 +0000 (08:18 +0300)
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>
drivers/net/wireless/ath/ath10k/mac.c
drivers/net/wireless/ath/ath10k/txrx.c

index 11aa13e7587fb4b80cdcf8aae6f4fa9b77f2ef15..5a56833c490791c400b2dd0d116678505e339ea1 100644 (file)
@@ -2853,8 +2853,7 @@ static void ath10k_flush(struct ieee80211_hw *hw, u32 queues, bool drop)
                        bool empty;
 
                        spin_lock_bh(&ar->htt.tx_lock);
-                       empty = bitmap_empty(ar->htt.used_msdu_ids,
-                                            ar->htt.max_num_pending_tx);
+                       empty = (ar->htt.num_pending_tx == 0);
                        spin_unlock_bh(&ar->htt.tx_lock);
 
                        skip = (ar->state == ATH10K_STATE_WEDGED);
index 68b6faefd1d883f89642775c03390b67a9f929ac..37b819675d204f41fb6ffae69a638a638c25769e 100644 (file)
@@ -96,7 +96,7 @@ exit:
        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_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);
        spin_unlock_bh(&htt->tx_lock);