aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/323-mac80211-remove-bogus-skb-vif-assignment.patch
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2016-11-04 10:31:42 +0100
committerFelix Fietkau <nbd@nbd.name>2016-11-04 10:31:42 +0100
commitdb82db32030175f0a3dbed32a7432036efc6896d (patch)
tree7e028a0b55dc38a56555d51fc6f71113022288e1 /package/kernel/mac80211/patches/323-mac80211-remove-bogus-skb-vif-assignment.patch
parent5c11a4b3114887711cf2a27b2d7debe0c8824954 (diff)
downloadupstream-db82db32030175f0a3dbed32a7432036efc6896d.tar.gz
upstream-db82db32030175f0a3dbed32a7432036efc6896d.tar.bz2
upstream-db82db32030175f0a3dbed32a7432036efc6896d.zip
mac80211: minor cleanup
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'package/kernel/mac80211/patches/323-mac80211-remove-bogus-skb-vif-assignment.patch')
-rw-r--r--package/kernel/mac80211/patches/323-mac80211-remove-bogus-skb-vif-assignment.patch29
1 files changed, 29 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/323-mac80211-remove-bogus-skb-vif-assignment.patch b/package/kernel/mac80211/patches/323-mac80211-remove-bogus-skb-vif-assignment.patch
new file mode 100644
index 0000000000..66449aca2b
--- /dev/null
+++ b/package/kernel/mac80211/patches/323-mac80211-remove-bogus-skb-vif-assignment.patch
@@ -0,0 +1,29 @@
+From: Felix Fietkau <nbd@nbd.name>
+Date: Fri, 4 Nov 2016 10:17:38 +0100
+Subject: [PATCH] mac80211: remove bogus skb vif assignment
+
+The call to ieee80211_txq_enqueue overwrites the vif pointer with the
+codel enqueue time, so setting it just before that call makes no sense.
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+
+--- a/net/mac80211/tx.c
++++ b/net/mac80211/tx.c
+@@ -1500,7 +1500,6 @@ static bool ieee80211_queue_skb(struct i
+ struct sta_info *sta,
+ struct sk_buff *skb)
+ {
+- struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
+ struct fq *fq = &local->fq;
+ struct ieee80211_vif *vif;
+ struct txq_info *txqi;
+@@ -1525,8 +1524,6 @@ static bool ieee80211_queue_skb(struct i
+ if (!txqi)
+ return false;
+
+- info->control.vif = vif;
+-
+ spin_lock_bh(&fq->lock);
+ ieee80211_txq_enqueue(local, txqi, skb);
+ spin_unlock_bh(&fq->lock);