[openwrt/openwrt] mac80211: improve error handling when adding hostapd config

LEDE Commits lede-commits at lists.infradead.org
Wed Jan 13 19:54:16 EST 2021


dangole pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/d9d698843469ee24de01fbb498bd8690d69b8b61

commit d9d698843469ee24de01fbb498bd8690d69b8b61
Author: Daniel Golle <daniel at makrotopia.org>
AuthorDate: Tue Jan 12 00:29:18 2021 +0000

    mac80211: improve error handling when adding hostapd config
    
    Signed-off-by: Daniel Golle <daniel at makrotopia.org>
---
 package/kernel/mac80211/Makefile                           |  2 +-
 .../kernel/mac80211/files/lib/netifd/wireless/mac80211.sh  | 14 +++++++-------
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/package/kernel/mac80211/Makefile b/package/kernel/mac80211/Makefile
index e03c91e9c4..096225754c 100644
--- a/package/kernel/mac80211/Makefile
+++ b/package/kernel/mac80211/Makefile
@@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/kernel.mk
 PKG_NAME:=mac80211
 
 PKG_VERSION:=5.8.18-1
-PKG_RELEASE:=4
+PKG_RELEASE:=5
 PKG_SOURCE_URL:=@KERNEL/linux/kernel/projects/backports/stable/v5.8.18/
 PKG_HASH:=f04a8172423c6a945fc7d9844b04f33fda9ae574e552f8f18ee3bdfcfb494563
 
diff --git a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh
index 7eea198cd9..b4008f3d58 100644
--- a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh
+++ b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh
@@ -1019,14 +1019,14 @@ drv_mac80211_setup() {
 		if [ "$no_reload" != "0" ]; then
 			add_ap=1
 			ubus wait_for hostapd
-			local hostapd_pid=$(ubus call hostapd config_add "{\"iface\":\"$primary_ap\", \"config\":\"${hostapd_conf_file}\"}" | jsonfilter -l 1 -e @.pid)
-			wireless_add_process "$hostapd_pid" "/usr/sbin/hostapd" 1 1
+			local hostapd_res="$(ubus call hostapd config_add "{\"iface\":\"$primary_ap\", \"config\":\"${hostapd_conf_file}\"}")"
+			ret="$?"
+			[ "$ret" != 0 -o -z "$hostapd_res" ] && {
+				wireless_setup_failed HOSTAPD_START_FAILED
+				return
+			}
+			wireless_add_process "$(jsonfilter -s "$hostapd_res" -l 1 -e @.pid)" "/usr/sbin/hostapd" 1 1
 		fi
-		ret="$?"
-		[ "$ret" != 0 ] && {
-			wireless_setup_failed HOSTAPD_START_FAILED
-			return
-		}
 	}
 	uci -q -P /var/state set wireless._${phy}.aplist="${NEWAPLIST}"
 	uci -q -P /var/state set wireless._${phy}.md5="${NEW_MD5}"



More information about the lede-commits mailing list