[prev in list] [next in list] [prev in thread] [next in thread] 

List:       hostap
Subject:    [PATCH v5 03/17] mesh: relocate RSN init function
From:       peter.oh () bowerswilkins ! com
Date:       2018-05-29 21:39:07
Message-ID: 8b5f04f6d6f90a1dc007a91be9ab4b28e7ca3b15.1527629631.git.peter.oh () bowerswilkins ! com
[Download RAW message or body]

From: Peter Oh <peter.oh@bowerswilkins.com>

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(-)

diff --git a/wpa_supplicant/mesh.c b/wpa_supplicant/mesh.c
index 9e46501..6a88149 100644
--- a/wpa_supplicant/mesh.c
+++ b/wpa_supplicant/mesh.c
@@ -336,9 +336,6 @@ static int wpa_supplicant_mesh_init(struct wpa_supplicant *wpa_s,
 		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_supplicant *wpa_s)
 	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;
-- 
2.7.4


_______________________________________________
Hostap mailing list
Hostap@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/hostap
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic