mac80211: minor cleanup
authorFelix Fietkau <nbd@nbd.name>
Fri, 4 Nov 2016 09:31:42 +0000 (10:31 +0100)
committerFelix Fietkau <nbd@nbd.name>
Fri, 4 Nov 2016 09:31:42 +0000 (10:31 +0100)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
package/kernel/mac80211/patches/323-mac80211-remove-bogus-skb-vif-assignment.patch [new file with mode: 0644]

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 (file)
index 0000000..66449ac
--- /dev/null
@@ -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);