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 ac210b586702..70c79c3013fa 100644 --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c | |||
@@ -1052,8 +1052,11 @@ ieee80211_tx_prepare(struct ieee80211_sub_if_data *sdata, | |||
1052 | 1052 | ||
1053 | hdr = (struct ieee80211_hdr *) skb->data; | 1053 | hdr = (struct ieee80211_hdr *) skb->data; |
1054 | 1054 | ||
1055 | if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) | 1055 | if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) { |
1056 | tx->sta = rcu_dereference(sdata->u.vlan.sta); | 1056 | tx->sta = rcu_dereference(sdata->u.vlan.sta); |
1057 | if (!tx->sta && sdata->dev->ieee80211_ptr->use_4addr) | ||
1058 | return TX_DROP; | ||
1059 | } | ||
1057 | if (!tx->sta) | 1060 | if (!tx->sta) |
1058 | tx->sta = sta_info_get(local, hdr->addr1); | 1061 | tx->sta = sta_info_get(local, hdr->addr1); |
1059 | 1062 | ||