diff options
-rw-r--r-- | net/mac80211/tx.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c index 0661e696a1dd..47ca59e52e71 100644 --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c | |||
@@ -1056,8 +1056,11 @@ ieee80211_tx_prepare(struct ieee80211_sub_if_data *sdata, | |||
1056 | 1056 | ||
1057 | hdr = (struct ieee80211_hdr *) skb->data; | 1057 | hdr = (struct ieee80211_hdr *) skb->data; |
1058 | 1058 | ||
1059 | if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) | 1059 | if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) { |
1060 | tx->sta = rcu_dereference(sdata->u.vlan.sta); | 1060 | tx->sta = rcu_dereference(sdata->u.vlan.sta); |
1061 | if (!tx->sta && sdata->dev->ieee80211_ptr->use_4addr) | ||
1062 | return TX_DROP; | ||
1063 | } | ||
1061 | if (!tx->sta) | 1064 | if (!tx->sta) |
1062 | tx->sta = sta_info_get(sdata, hdr->addr1); | 1065 | tx->sta = sta_info_get(sdata, hdr->addr1); |
1063 | 1066 | ||