From a3dff1bd16201c9a39bbc4f2c8c4c772e338e29a Mon Sep 17 00:00:00 2001 From: Alexander Egorenkov Date: Sat, 27 Feb 2010 09:37:41 +0100 Subject: [PATCH] Disable RTS threshold when A-MSDU Tx is enabled --- rt2870.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/rt2870.c b/rt2870.c index f52a71f..126594c 100644 --- a/rt2870.c +++ b/rt2870.c @@ -1822,6 +1822,7 @@ static int rt2870_vap_reset(struct ieee80211vap *vap, u_long cmd) switch (cmd) { case IEEE80211_IOC_RTSTHRESHOLD: + case IEEE80211_IOC_AMSDU: rt2870_asic_update_rtsthreshold(sc); break; @@ -3132,8 +3133,10 @@ static void rt2870_asic_update_rtsthreshold(struct rt2870_softc *sc) tmp &= ~(RT2870_REG_TX_RTS_THRESHOLD_MASK << RT2870_REG_TX_RTS_THRESHOLD_SHIFT); - threshold = (vap->iv_rtsthreshold < IEEE80211_RTS_MAX) ? - vap->iv_rtsthreshold : 0x1000; + if (vap->iv_flags_ht & IEEE80211_FHT_AMSDU_TX) + threshold = 0x1000; + else + threshold = vap->iv_rtsthreshold; tmp |= ((threshold & RT2870_REG_TX_RTS_THRESHOLD_MASK) << RT2870_REG_TX_RTS_THRESHOLD_SHIFT); -- 2.11.4.GIT