From db82db32030175f0a3dbed32a7432036efc6896d Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@nbd.name>
Date: Fri, 4 Nov 2016 10:31:42 +0100
Subject: mac80211: minor cleanup

Signed-off-by: Felix Fietkau <nbd@nbd.name>
---
 ...-mac80211-remove-bogus-skb-vif-assignment.patch | 29 ++++++++++++++++++++++
 1 file changed, 29 insertions(+)
 create mode 100644 package/kernel/mac80211/patches/323-mac80211-remove-bogus-skb-vif-assignment.patch

(limited to 'package/kernel/mac80211')

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);
-- 
cgit v1.2.3