aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/tx.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2015-02-23 18:28:18 -0500
committerJohannes Berg <johannes.berg@intel.com>2015-02-28 15:28:44 -0500
commit9d6b106b54e02ad6a30c8bd949c8ea581a47d92b (patch)
treeb9ca00a330745b4aee43af86b2dcd12d8e7ae103 /net/mac80211/tx.c
parentb7853d73e39b099bbee149cac4c34dbf98f3fefa (diff)
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>
Diffstat (limited to 'net/mac80211/tx.c')
-rw-r--r--net/mac80211/tx.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index 88a18ffe2975..0e56ac5729ef 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -1172,7 +1172,7 @@ ieee80211_tx_prepare(struct ieee80211_sub_if_data *sdata,
1172 tx->sdata->control_port_protocol == tx->skb->protocol) { 1172 tx->sdata->control_port_protocol == tx->skb->protocol) {
1173 tx->sta = sta_info_get_bss(sdata, hdr->addr1); 1173 tx->sta = sta_info_get_bss(sdata, hdr->addr1);
1174 } 1174 }
1175 if (!tx->sta) 1175 if (!tx->sta && !is_multicast_ether_addr(hdr->addr1))
1176 tx->sta = sta_info_get(sdata, hdr->addr1); 1176 tx->sta = sta_info_get(sdata, hdr->addr1);
1177 1177
1178 if (tx->sta && ieee80211_is_data_qos(hdr->frame_control) && 1178 if (tx->sta && ieee80211_is_data_qos(hdr->frame_control) &&