From 9df06bbc4640a67cec675b590bf277548f35577d Mon Sep 17 00:00:00 2001
From: Jakob Olsson <Jakob Olsson>
Date: Wed, 4 Dec 2019 10:16:39 +0100
Subject: [PATCH] wifi: sync credentials to ubusx peers prior to killing
 wireless processes

---
 lq-wave-300_5_x/files/lib/netifd/wireless/intel.sh | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/lq-wave-300_5_x/files/lib/netifd/wireless/intel.sh b/lq-wave-300_5_x/files/lib/netifd/wireless/intel.sh
index d7fe474..d734946 100755
--- a/lq-wave-300_5_x/files/lib/netifd/wireless/intel.sh
+++ b/lq-wave-300_5_x/files/lib/netifd/wireless/intel.sh
@@ -838,7 +838,17 @@ list_phy_interfaces() {
 	fi
 }
 
+sync_wifi_creds() {
+        local numofpeers=$(ubus list | grep "/netmode" | wc -l)
+        [ "$numofpeers" -gt "0" ] || return
+        logger -s -t $0 -p user.info "Pushing wifi credentials to all ($numofpeers) ubusproxy peers, just before reloading wifi" 2>/dev/console
+        ubus call netmode sync
+        [ $numofpeers -lt 5 ] && sleep $numofpeers || sleep 5
+}
+
 drv_intel_teardown() {
+	sync_wifi_creds
+
 	wireless_process_kill_all
 
 	json_select data
-- 
GitLab