summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHelmut Schaa2010-10-02 11:34:26 +0200
committerJohn W. Linville2010-10-05 19:35:29 +0200
commit01e946f22ae4bafe370d263f2ef499b8b232aec1 (patch)
treefbc2a98193eebda1d5571784313a575440b097cd
parentrt2x00: Fix oops caused by error path in rt2x00lib_start (diff)
downloadkernel-qcow2-linux-01e946f22ae4bafe370d263f2ef499b8b232aec1.tar.gz
kernel-qcow2-linux-01e946f22ae4bafe370d263f2ef499b8b232aec1.tar.xz
kernel-qcow2-linux-01e946f22ae4bafe370d263f2ef499b8b232aec1.zip
rt2x00: Improve cooperation between rt2800pci and minstrel
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>
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00ht.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00ht.c b/drivers/net/wireless/rt2x00/rt2x00ht.c
index 2023419ce0bd..c637bcaec5f8 100644
--- a/drivers/net/wireless/rt2x00/rt2x00ht.c
+++ b/drivers/net/wireless/rt2x00/rt2x00ht.c
@@ -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);
/*