summaryrefslogtreecommitdiffstats
path: root/net/mac80211/tx.c
diff options
context:
space:
mode:
authorSara Sharon2018-09-05 07:06:10 +0200
committerJohannes Berg2018-09-05 10:10:26 +0200
commitedba6bdad6fef787c0363e8a1e7d91e8d6a10129 (patch)
tree58b4146d4cf326f8373aae1965573b46f95e420a /net/mac80211/tx.c
parentmac80211: add an option for station management TXQ (diff)
downloadkernel-qcow2-linux-edba6bdad6fef787c0363e8a1e7d91e8d6a10129.tar.gz
kernel-qcow2-linux-edba6bdad6fef787c0363e8a1e7d91e8d6a10129.tar.xz
kernel-qcow2-linux-edba6bdad6fef787c0363e8a1e7d91e8d6a10129.zip
mac80211: allow AMSDU size limitation per-TID
Some drivers may have AMSDU size limitation per TID, due to HW constrains. Add an option to set this limit. Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/tx.c')
-rw-r--r--net/mac80211/tx.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index 96b6c9b09bd2..42f44c33a133 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -3225,6 +3225,10 @@ static bool ieee80211_amsdu_aggregate(struct ieee80211_sub_if_data *sdata,
max_amsdu_len = min_t(int, max_amsdu_len,
sta->sta.max_rc_amsdu_len);
+ if (sta->sta.max_tid_amsdu_len[tid])
+ max_amsdu_len = min_t(int, max_amsdu_len,
+ sta->sta.max_tid_amsdu_len[tid]);
+
spin_lock_bh(&fq->lock);
/* TODO: Ideally aggregation should be done on dequeue to remain