diff options
author | Johannes Berg <johannes.berg@intel.com> | 2016-10-21 08:25:11 -0400 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2016-10-27 03:08:45 -0400 |
commit | 275fcf62c289d52f0fc14d774ab176c0d6196171 (patch) | |
tree | 6a6a99652167a12c5e2b4f134934217fc012dd23 | |
parent | 0507a3ac6e98f50583912ec78d07c2e4daaf2b28 (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.c | 2 |
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 | } |