summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2016-10-21 08:25:11 -0400
committerJohannes Berg <johannes.berg@intel.com>2016-10-27 03:08:45 -0400
commit275fcf62c289d52f0fc14d774ab176c0d6196171 (patch)
tree6a6a99652167a12c5e2b4f134934217fc012dd23
parent0507a3ac6e98f50583912ec78d07c2e4daaf2b28 (diff)
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>
-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,
183 memcpy(wdev->ssid, setup->mesh_id, setup->mesh_id_len); 183 memcpy(wdev->ssid, setup->mesh_id, setup->mesh_id_len);
184 wdev->mesh_id_len = setup->mesh_id_len; 184 wdev->mesh_id_len = setup->mesh_id_len;
185 wdev->chandef = setup->chandef; 185 wdev->chandef = setup->chandef;
186 wdev->beacon_interval = setup->beacon_interval;
186 } 187 }
187 188
188 return err; 189 return err;
@@ -258,6 +259,7 @@ int __cfg80211_leave_mesh(struct cfg80211_registered_device *rdev,
258 err = rdev_leave_mesh(rdev, dev); 259 err = rdev_leave_mesh(rdev, dev);
259 if (!err) { 260 if (!err) {
260 wdev->mesh_id_len = 0; 261 wdev->mesh_id_len = 0;
262 wdev->beacon_interval = 0;
261 memset(&wdev->chandef, 0, sizeof(wdev->chandef)); 263 memset(&wdev->chandef, 0, sizeof(wdev->chandef));
262 rdev_set_qos_map(rdev, dev, NULL); 264 rdev_set_qos_map(rdev, dev, NULL);
263 } 265 }