From: Daniel Golle Date: Tue, 12 Jan 2021 00:29:18 +0000 (+0000) Subject: mac80211: improve error handling when adding hostapd config X-Git-Tag: v21.02.0-rc1~554 X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=d9d698843469ee24de01fbb498bd8690d69b8b61;p=openwrt%2Fstaging%2Fhauke.git mac80211: improve error handling when adding hostapd config Signed-off-by: Daniel Golle --- 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}"