rt2x00: Improve cooperation between rt2800pci and minstrel
authorHelmut Schaa <helmut.schaa@googlemail.com>
Sat, 2 Oct 2010 09:34:26 +0000 (11:34 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 5 Oct 2010 17:35:29 +0000 (13:35 -0400)
In order to lower the impact of probe rates don't send a frame as AMPDU
if the rate control algorithm sets IEEE80211_TX_CTL_RATE_CTRL_PROBE.
Otherwise a whole aggregate would be send with a probe rate which might
lead to numerous retries.

Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/rt2x00/rt2x00ht.c

index 2023419ce0bd27774dbd5431c8d8fb298b2509bc..c637bcaec5f8d6ef37320950f5bf9964f4bde675 100644 (file)
@@ -73,9 +73,11 @@ void rt2x00ht_create_tx_descriptor(struct queue_entry *entry,
 
 
        /*
-        * Convert flags
+        * This frame is eligible for an AMPDU, however, don't aggregate
+        * frames that are intended to probe a specific tx rate.
         */
-       if (tx_info->flags & IEEE80211_TX_CTL_AMPDU)
+       if (tx_info->flags & IEEE80211_TX_CTL_AMPDU &&
+           !(tx_info->flags & IEEE80211_TX_CTL_RATE_CTRL_PROBE))
                __set_bit(ENTRY_TXD_HT_AMPDU, &txdesc->flags);
 
        /*