You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.3 KiB
41 lines
1.3 KiB
From 07bad5f256cbe8a4b45d32c5b43b870ee815fb42 Mon Sep 17 00:00:00 2001
|
|
From: Peter Oh <peter.oh@bowerswilkins.com>
|
|
Date: Tue, 29 May 2018 14:39:07 -0700
|
|
Subject: [PATCH 03/18] mesh: relocate RSN init function
|
|
|
|
RSN init function should work together with mesh join
|
|
when it's used. Since mesh join could be called at different stage
|
|
if DFS channel is used, relocate the function to mesh join.
|
|
It is still the same call flows of mesh join before this changes
|
|
if non-DFS channels are used, hence no side effect will occur.
|
|
|
|
Signed-off-by: Peter Oh <peter.oh@bowerswilkins.com>
|
|
---
|
|
wpa_supplicant/mesh.c | 9 ++++++---
|
|
1 file changed, 6 insertions(+), 3 deletions(-)
|
|
|
|
--- a/wpa_supplicant/mesh.c
|
|
+++ b/wpa_supplicant/mesh.c
|
|
@@ -336,9 +336,6 @@ static int wpa_supplicant_mesh_init(stru
|
|
return -1;
|
|
}
|
|
|
|
- if (wpas_mesh_init_rsn(wpa_s))
|
|
- goto out_free;
|
|
-
|
|
wpa_supplicant_conf_ap_ht(wpa_s, ssid, conf);
|
|
|
|
return 0;
|
|
@@ -384,6 +381,12 @@ void wpas_join_mesh(struct wpa_supplican
|
|
struct wpa_ssid *ssid = wpa_s->current_ssid;
|
|
int ret = 0;
|
|
|
|
+ if (wpas_mesh_init_rsn(wpa_s)) {
|
|
+ wpa_printf(MSG_ERROR, "Init RSN failed. Deinit mesh...");
|
|
+ wpa_supplicant_mesh_deinit(wpa_s);
|
|
+ return;
|
|
+ }
|
|
+
|
|
if (ssid->key_mgmt & WPA_KEY_MGMT_SAE) {
|
|
wpa_s->pairwise_cipher = wpa_s->mesh_rsn->pairwise_cipher;
|
|
wpa_s->group_cipher = wpa_s->mesh_rsn->group_cipher;
|
|
|