ath9k: fix bogus sequence number increases on aggregation tid flush
authorFelix Fietkau <nbd@openwrt.org>
Tue, 11 Jan 2011 00:05:47 +0000 (17:05 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 19 Jan 2011 16:36:07 +0000 (11:36 -0500)
When a tid pointer is passed to ath_tx_send_normal(), it increases the
starting sequence number for the next AMPDU action frame, which should
only be done if the sequence number assignment is fresh. In this case
it is clearly not.

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 332d1feb5c18ece5b4024beefc21fb83826902f4..1adfebcd9b9ac7dd9c809fb58eadf349197dd4d7 100644 (file)
@@ -169,7 +169,7 @@ static void ath_tx_flush_tid(struct ath_softc *sc, struct ath_atx_tid *tid)
                        ath_tx_update_baw(sc, tid, fi->seqno);
                        ath_tx_complete_buf(sc, bf, txq, &bf_head, &ts, 0, 0);
                } else {
-                       ath_tx_send_normal(sc, txq, tid, &bf_head);
+                       ath_tx_send_normal(sc, txq, NULL, &bf_head);
                }
                spin_lock_bh(&txq->axq_lock);
        }