summaryrefslogtreecommitdiffstats
path: root/package/mac80211/patches/802-mac80211_cfg_fix.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/mac80211/patches/802-mac80211_cfg_fix.patch')
-rw-r--r--package/mac80211/patches/802-mac80211_cfg_fix.patch23
1 files changed, 23 insertions, 0 deletions
diff --git a/package/mac80211/patches/802-mac80211_cfg_fix.patch b/package/mac80211/patches/802-mac80211_cfg_fix.patch
new file mode 100644
index 000000000..0ed0b6bd4
--- /dev/null
+++ b/package/mac80211/patches/802-mac80211_cfg_fix.patch
@@ -0,0 +1,23 @@
+--- a/net/mac80211/cfg.c
++++ b/net/mac80211/cfg.c
+@@ -97,9 +97,6 @@ static int ieee80211_change_iface(struct
+ 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
+ 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;
+ }
+