ath9k: don't use BAW tracking on PS responses for non-AMPDU packets
authorFelix Fietkau <nbd@openwrt.org>
Tue, 17 Sep 2013 10:05:15 +0000 (12:05 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 26 Sep 2013 18:02:29 +0000 (14:02 -0400)
When .release_buffered_frames was implemented, only A-MPDU packets were
buffered internally. Now that this has changed, the BUF_AMPDU flag needs
to be checked before calling ath_tx_addto_baw

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/xmit.c

index 58499603f70506c1e046312ef529a920464f482d..9b3736ea2aafdd871707dd44e6724c1198e7a253 100644 (file)
@@ -1556,8 +1556,10 @@ void ath9k_release_buffered_frames(struct ieee80211_hw *hw,
                        __skb_unlink(bf->bf_mpdu, tid_q);
                        list_add_tail(&bf->list, &bf_q);
                        ath_set_rates(tid->an->vif, tid->an->sta, bf);
-                       ath_tx_addto_baw(sc, tid, bf);
-                       bf->bf_state.bf_type &= ~BUF_AGGR;
+                       if (bf_isampdu(bf)) {
+                               ath_tx_addto_baw(sc, tid, bf);
+                               bf->bf_state.bf_type &= ~BUF_AGGR;
+                       }
                        if (bf_tail)
                                bf_tail->bf_next = bf;