Parcourir la source

hostapd: fix no_reload logic

the code would unconditionally tear down all interfaces upon a reconf.
This should only be done when the reconf call fails.

Signed-off-by: John Crispin <[email protected]>
John Crispin il y a 6 ans
Parent
commit
22d896eb21

+ 4 - 2
package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh

@@ -954,8 +954,10 @@ drv_mac80211_setup() {
 			[ "${NEW_MD5}" = "${OLD_MD5}" ] || {
 				ubus call hostapd.$primary_ap reload
 				no_reload=$?
-				mac80211_vap_cleanup hostapd "${OLDAPLIST}"
-		                [ -n "${NEWAPLIST}" ] && mac80211_iw_interface_add "$phy" "${NEWAPLIST%% *}" __ap || return
+				if [ "$no_reload" != "0" ]; then
+					mac80211_vap_cleanup hostapd "${OLDAPLIST}"
+			                [ -n "${NEWAPLIST}" ] && mac80211_iw_interface_add "$phy" "${NEWAPLIST%% *}" __ap || return
+				fi
 			}
 		fi
 		if [ "$no_reload" != "0" ]; then