aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/carl9170/main.c
diff options
context:
space:
mode:
authorChristian Lamparter <chunkeey@googlemail.com>2011-03-29 13:43:14 +0200
committerJohn W. Linville <linville@tuxdriver.com>2011-03-29 15:45:14 -0400
commit24047e2c4feb8c126e92cc5bb7a863115c89bd72 (patch)
treea027a11a04ef9ef53dce7f44eff76e26f20106bc /drivers/net/wireless/ath/carl9170/main.c
parent0263aa45293838b514b8af674a03faf040991a90 (diff)
downloadkernel_samsung_smdk4412-24047e2c4feb8c126e92cc5bb7a863115c89bd72.zip
kernel_samsung_smdk4412-24047e2c4feb8c126e92cc5bb7a863115c89bd72.tar.gz
kernel_samsung_smdk4412-24047e2c4feb8c126e92cc5bb7a863115c89bd72.tar.bz2
carl9170: Fix tx aggregation problems with some clients
Some clients seem to rely upon the reception of BlockAckReqs to flush their rx reorder buffer. In order to fix aggregation for these clients carl9170 should set IEEE80211_TX_STAT_AMPDU_NO_BACK to generate a BlockAckReq if the transmission of an AMPDU subframe fails. This fixes aggregation problems with Intel 5100 Windows STAs (and maybe others as well). Signed-off-by: Christian Lamparter <chunkeey@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/carl9170/main.c')
-rw-r--r--drivers/net/wireless/ath/carl9170/main.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/carl9170/main.c b/drivers/net/wireless/ath/carl9170/main.c
index ede3d7e..89fe60a 100644
--- a/drivers/net/wireless/ath/carl9170/main.c
+++ b/drivers/net/wireless/ath/carl9170/main.c
@@ -1355,6 +1355,7 @@ static int carl9170_op_ampdu_action(struct ieee80211_hw *hw,
tid_info = rcu_dereference(sta_info->agg[tid]);
sta_info->stats[tid].clear = true;
+ sta_info->stats[tid].req = false;
if (tid_info) {
bitmap_zero(tid_info->bitmap, CARL9170_BAW_SIZE);