summaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/310-mac80211-don-t-look-up-stations-for-multicast-addres.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/mac80211/patches/310-mac80211-don-t-look-up-stations-for-multicast-addres.patch')
-rw-r--r--package/kernel/mac80211/patches/310-mac80211-don-t-look-up-stations-for-multicast-addres.patch21
1 files changed, 21 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/310-mac80211-don-t-look-up-stations-for-multicast-addres.patch b/package/kernel/mac80211/patches/310-mac80211-don-t-look-up-stations-for-multicast-addres.patch
new file mode 100644
index 0000000000..7a039d627a
--- /dev/null
+++ b/package/kernel/mac80211/patches/310-mac80211-don-t-look-up-stations-for-multicast-addres.patch
@@ -0,0 +1,21 @@
+From: Johannes Berg <johannes.berg@intel.com>
+Date: Tue, 24 Feb 2015 00:28:18 +0100
+Subject: [PATCH] mac80211: don't look up stations for multicast addresses
+
+Since multicast addresses don't exist as stations, don't attempt
+to look them up in the hashtable on TX.
+
+Signed-off-by: Johannes Berg <johannes.berg@intel.com>
+---
+
+--- a/net/mac80211/tx.c
++++ b/net/mac80211/tx.c
+@@ -1162,7 +1162,7 @@ ieee80211_tx_prepare(struct ieee80211_su
+ tx->sdata->control_port_protocol == tx->skb->protocol) {
+ tx->sta = sta_info_get_bss(sdata, hdr->addr1);
+ }
+- if (!tx->sta)
++ if (!tx->sta && !is_multicast_ether_addr(hdr->addr1))
+ tx->sta = sta_info_get(sdata, hdr->addr1);
+
+ if (tx->sta && ieee80211_is_data_qos(hdr->frame_control) &&