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>
This commit is contained in:
parent
0507a3ac6e
commit
275fcf62c2
@ -183,6 +183,7 @@ int __cfg80211_join_mesh(struct cfg80211_registered_device *rdev,
|
|||||||
memcpy(wdev->ssid, setup->mesh_id, setup->mesh_id_len);
|
memcpy(wdev->ssid, setup->mesh_id, setup->mesh_id_len);
|
||||||
wdev->mesh_id_len = setup->mesh_id_len;
|
wdev->mesh_id_len = setup->mesh_id_len;
|
||||||
wdev->chandef = setup->chandef;
|
wdev->chandef = setup->chandef;
|
||||||
|
wdev->beacon_interval = setup->beacon_interval;
|
||||||
}
|
}
|
||||||
|
|
||||||
return err;
|
return err;
|
||||||
@ -258,6 +259,7 @@ int __cfg80211_leave_mesh(struct cfg80211_registered_device *rdev,
|
|||||||
err = rdev_leave_mesh(rdev, dev);
|
err = rdev_leave_mesh(rdev, dev);
|
||||||
if (!err) {
|
if (!err) {
|
||||||
wdev->mesh_id_len = 0;
|
wdev->mesh_id_len = 0;
|
||||||
|
wdev->beacon_interval = 0;
|
||||||
memset(&wdev->chandef, 0, sizeof(wdev->chandef));
|
memset(&wdev->chandef, 0, sizeof(wdev->chandef));
|
||||||
rdev_set_qos_map(rdev, dev, NULL);
|
rdev_set_qos_map(rdev, dev, NULL);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user