diff options
author | Felix Fietkau <nbd@openwrt.org> | 2015-03-20 16:24:14 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2015-03-20 16:24:14 +0000 |
commit | 9143cf5fc9e06af4a9bcf07f0009666ccf66961f (patch) | |
tree | d39b123341dde99e9339f22af0d17f3b877e3b72 /package/kernel/mac80211/patches/310-mac80211-don-t-look-up-stations-for-multicast-addres.patch | |
parent | f7a861615cc9496f988ccf13cb00f7854a8eaae7 (diff) | |
download | upstream-9143cf5fc9e06af4a9bcf07f0009666ccf66961f.tar.gz upstream-9143cf5fc9e06af4a9bcf07f0009666ccf66961f.tar.bz2 upstream-9143cf5fc9e06af4a9bcf07f0009666ccf66961f.zip |
mac80211: merge a few performance enhancements
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 44910
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.patch | 21 |
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) && |