openwrtv3/package/kernel/mac80211/patches/313-mac80211-drop-4-addr-VLAN-frames-earlier-if-not-conn.patch
Felix Fietkau 98cd35e477 mac80211: update the software queue patch to the version accepted upstream
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45265
2015-04-03 19:42:33 +00:00

27 lines
873 B
Diff

From: Johannes Berg <johannes.berg@intel.com>
Date: Fri, 20 Mar 2015 16:24:22 +0100
Subject: [PATCH] mac80211: drop 4-addr VLAN frames earlier if not
connected
If there's no station on the 4-addr VLAN interface, then frames
cannot be transmitted. Drop such frames earlier, before setting
up all the information for them.
We should keep the old check though since that code might be used
for other internally-generated frames.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
---
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -1920,6 +1920,9 @@ static struct sk_buff *ieee80211_build_h
authorized = test_sta_flag(sta, WLAN_STA_AUTHORIZED);
wme_sta = sta->sta.wme;
have_station = true;
+ } else if (sdata->wdev.use_4addr) {
+ ret = -ENOLINK;
+ goto free;
}
ap_sdata = container_of(sdata->bss, struct ieee80211_sub_if_data,
u.ap);