summaryrefslogtreecommitdiffstats
path: root/net/wireless/mesh.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2016-10-21 14:25:11 +0200
committerJohannes Berg <johannes.berg@intel.com>2016-10-27 09:08:45 +0200
commit275fcf62c289d52f0fc14d774ab176c0d6196171 (patch)
tree6a6a99652167a12c5e2b4f134934217fc012dd23 /net/wireless/mesh.c
parentcfg80211: fix beacon interval in interface combination iteration (diff)
downloadlinux-275fcf62c289d52f0fc14d774ab176c0d6196171.tar.xz
linux-275fcf62c289d52f0fc14d774ab176c0d6196171.zip
cfg80211: mesh: track (and thus validate) beacon interval
This is needed for beacon interval validation; if we don't store it, then new interfaces added won't validate that the beacon interval is the same as existing ones. Fix this. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/wireless/mesh.c')
-rw-r--r--net/wireless/mesh.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/wireless/mesh.c b/net/wireless/mesh.c
index fa2066b56f36..2d8518a37eab 100644
--- a/net/wireless/mesh.c
+++ b/net/wireless/mesh.c
@@ -183,6 +183,7 @@ int __cfg80211_join_mesh(struct cfg80211_registered_device *rdev,
memcpy(wdev->ssid, setup->mesh_id, setup->mesh_id_len);
wdev->mesh_id_len = setup->mesh_id_len;
wdev->chandef = setup->chandef;
+ wdev->beacon_interval = setup->beacon_interval;
}
return err;
@@ -258,6 +259,7 @@ int __cfg80211_leave_mesh(struct cfg80211_registered_device *rdev,
err = rdev_leave_mesh(rdev, dev);
if (!err) {
wdev->mesh_id_len = 0;
+ wdev->beacon_interval = 0;
memset(&wdev->chandef, 0, sizeof(wdev->chandef));
rdev_set_qos_map(rdev, dev, NULL);
}