ath9k_htc: set IEEE80211_TX_STAT_AMPDU for acked aggregated frames
authorChun-Yeow Yeoh <yeohchunyeow@gmail.com>
Wed, 2 Apr 2014 04:03:18 +0000 (12:03 +0800)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 9 Apr 2014 17:55:54 +0000 (13:55 -0400)
Frame aggregation requires the IEEE80211_TX_STAT_AMPDU to
be set so that mac80211 can report the last_tx_rate correctly.

Signed-off-by: Chun-Yeow Yeoh <yeohchunyeow@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/htc_drv_txrx.c

index e8149e3dbdd58a425d4537c4fe2dee8f0d6ce881..289f3d8924b5735cb773d2b1d527b5cf106b5d64 100644 (file)
@@ -471,8 +471,11 @@ static void ath9k_htc_tx_process(struct ath9k_htc_priv *priv,
        if (!txok || !vif || !txs)
                goto send_mac80211;
 
-       if (txs->ts_flags & ATH9K_HTC_TXSTAT_ACK)
+       if (txs->ts_flags & ATH9K_HTC_TXSTAT_ACK) {
                tx_info->flags |= IEEE80211_TX_STAT_ACK;
+               if (tx_info->flags & IEEE80211_TX_CTL_AMPDU)
+                       tx_info->flags |= IEEE80211_TX_STAT_AMPDU;
+       }
 
        if (txs->ts_flags & ATH9K_HTC_TXSTAT_FILT)
                tx_info->flags |= IEEE80211_TX_STAT_TX_FILTERED;