mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-04 02:02:28 +09:00
mac80211: fix handling of 4-address-mode in ieee80211_change_iface
commit f7917af920 upstream.
A misplaced interface type check bails out too early if the interface
is not in monitor mode. This patch moves it to the right place, so that
it only covers changes to the monitor flags.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
6f6dcf87b0
commit
787b18bfea
@@ -97,9 +97,6 @@ static int ieee80211_change_iface(struct wiphy *wiphy,
|
||||
params->mesh_id_len,
|
||||
params->mesh_id);
|
||||
|
||||
if (sdata->vif.type != NL80211_IFTYPE_MONITOR || !flags)
|
||||
return 0;
|
||||
|
||||
if (type == NL80211_IFTYPE_AP_VLAN &&
|
||||
params && params->use_4addr == 0)
|
||||
rcu_assign_pointer(sdata->u.vlan.sta, NULL);
|
||||
@@ -107,7 +104,9 @@ static int ieee80211_change_iface(struct wiphy *wiphy,
|
||||
params && params->use_4addr >= 0)
|
||||
sdata->u.mgd.use_4addr = params->use_4addr;
|
||||
|
||||
sdata->u.mntr_flags = *flags;
|
||||
if (sdata->vif.type == NL80211_IFTYPE_MONITOR && flags)
|
||||
sdata->u.mntr_flags = *flags;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user