mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-22 23:12:32 +00:00
48 lines
1.5 KiB
Diff
48 lines
1.5 KiB
Diff
|
From 2564184440d9d6041d11a8c7d50b31368634c3bd Mon Sep 17 00:00:00 2001
|
||
|
From: Peter Oh <peter.oh@bowerswilkins.com>
|
||
|
Date: Mon, 27 Aug 2018 14:28:40 -0700
|
||
|
Subject: [PATCH] mesh: Apply channel attributes before setup interface
|
||
|
|
||
|
This helps mesh interface initialization with correct channel
|
||
|
parameters.
|
||
|
|
||
|
Signed-off-by: Peter Oh <peter.oh@bowerswilkins.com>
|
||
|
---
|
||
|
wpa_supplicant/mesh.c | 11 ++++++++---
|
||
|
1 file changed, 8 insertions(+), 3 deletions(-)
|
||
|
|
||
|
--- a/wpa_supplicant/mesh.c
|
||
|
+++ b/wpa_supplicant/mesh.c
|
||
|
@@ -253,7 +253,7 @@ static int wpa_supplicant_mesh_init(stru
|
||
|
struct mesh_conf *mconf;
|
||
|
int basic_rates_erp[] = { 10, 20, 55, 60, 110, 120, 240, -1 };
|
||
|
int rate_len;
|
||
|
- int frequency;
|
||
|
+ int frequency, saved_freq;
|
||
|
|
||
|
if (!wpa_s->conf->user_mpm) {
|
||
|
/* not much for us to do here */
|
||
|
@@ -391,6 +391,13 @@ static int wpa_supplicant_mesh_init(stru
|
||
|
conf->basic_rates[rate_len] = -1;
|
||
|
}
|
||
|
|
||
|
+ /* Handle pri/sec switch frequency within AP configuration parameter
|
||
|
+ * generation without changing the stored network profile in the end. */
|
||
|
+ saved_freq = ssid->frequency;
|
||
|
+ ssid->frequency = frequency;
|
||
|
+ wpa_supplicant_conf_ap_ht(wpa_s, ssid, conf);
|
||
|
+ ssid->frequency = saved_freq;
|
||
|
+
|
||
|
if (wpa_drv_init_mesh(wpa_s)) {
|
||
|
wpa_msg(wpa_s, MSG_ERROR, "Failed to init mesh in driver");
|
||
|
return -1;
|
||
|
@@ -402,8 +409,6 @@ static int wpa_supplicant_mesh_init(stru
|
||
|
return -1;
|
||
|
}
|
||
|
|
||
|
- wpa_supplicant_conf_ap_ht(wpa_s, ssid, conf);
|
||
|
-
|
||
|
return 0;
|
||
|
out_free:
|
||
|
wpa_supplicant_mesh_deinit(wpa_s);
|