aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/313-mac80211-minstrel_ht-add-a-small-optimization-to-min.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/mac80211/patches/313-mac80211-minstrel_ht-add-a-small-optimization-to-min.patch')
-rw-r--r--package/kernel/mac80211/patches/313-mac80211-minstrel_ht-add-a-small-optimization-to-min.patch33
1 files changed, 33 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/313-mac80211-minstrel_ht-add-a-small-optimization-to-min.patch b/package/kernel/mac80211/patches/313-mac80211-minstrel_ht-add-a-small-optimization-to-min.patch
new file mode 100644
index 0000000000..ba2ce1eb8d
--- /dev/null
+++ b/package/kernel/mac80211/patches/313-mac80211-minstrel_ht-add-a-small-optimization-to-min.patch
@@ -0,0 +1,33 @@
+From: Felix Fietkau <nbd@openwrt.org>
+Date: Sat, 15 Nov 2014 22:13:38 +0100
+Subject: [PATCH] mac80211: minstrel_ht: add a small optimization to
+ minstrel_aggr_check
+
+Check the queue mapping earlier, skb->queue_mapping is more likely than
+skb->data to still be in d-cache.
+
+Signed-off-by: Felix Fietkau <nbd@openwrt.org>
+---
+
+--- a/net/mac80211/rc80211_minstrel_ht.c
++++ b/net/mac80211/rc80211_minstrel_ht.c
+@@ -690,6 +690,9 @@ minstrel_aggr_check(struct ieee80211_sta
+ struct sta_info *sta = container_of(pubsta, struct sta_info, sta);
+ u16 tid;
+
++ if (skb_get_queue_mapping(skb) == IEEE80211_AC_VO)
++ return;
++
+ if (unlikely(!ieee80211_is_data_qos(hdr->frame_control)))
+ return;
+
+@@ -700,9 +703,6 @@ minstrel_aggr_check(struct ieee80211_sta
+ if (likely(sta->ampdu_mlme.tid_tx[tid]))
+ return;
+
+- if (skb_get_queue_mapping(skb) == IEEE80211_AC_VO)
+- return;
+-
+ ieee80211_start_tx_ba_session(pubsta, tid, 5000);
+ }
+