|
@@ -96,9 +96,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);
|
|
@@ -106,7 +103,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;
|
|
|
}
|
|
|
|