mac80211: don't look up stations for multicast addresses
authorJohannes Berg <johannes.berg@intel.com>
Mon, 23 Feb 2015 23:28:18 +0000 (00:28 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Sat, 28 Feb 2015 20:28:44 +0000 (21:28 +0100)
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>
net/mac80211/tx.c

index 88a18ffe2975520edbcc80733bc1bbc9b2655f11..0e56ac5729efaa0c38623960736760f44052a14e 100644 (file)
@@ -1172,7 +1172,7 @@ ieee80211_tx_prepare(struct ieee80211_sub_if_data *sdata,
                   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) &&