mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-03 22:44:27 -05:00 
			
		
		
		
	
				If drv_mac80211_setup is called twice with the same wifi configuration,
then the second call returns early with error HOSTAPD_START_FAILED.
(wifi works nevertheless, despite the fact that setup is incomplete.  But
"ubus call network.wireless status" erroneously reports that radio0 is down.)
The relevant part of drv_mac80211_setup is,
if [ "$no_reload" != "0" ]; then
        add_ap=1
        ubus wait_for hostapd
        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
This commit sets no_reload = 0 during the second call of drv_mac80211_setup.
It is perhaps worth providing a way to reproduce the situation
where drv_mac80211_setup is called twice.
When /sbin/wifi is used to turn on wifi,
   uci set wireless.@wifi-iface[0].disabled=0
   uci set wireless.@wifi-device[0].disabled=0
   uci commit
   wifi
/sbin/wifi makes the following ubus calls,
   ubus call network reload
   ubus call network.wireless down
   ubus call network.wireless up
The first and third ubus calls both call drv_mac80211_setup,
while the second ubus call triggers wireless_device_setup_cancel.
So the call sequence becomes,
   drv_mac80211_setup
   wireless_device_setup_cancel
   drv_mac80211_setup
In contrast, when LuCI is used to turn on wifi only a single call
is made to drv_mac80211_setup.
branches affected: trunk, 21.02
Signed-off-by: Bob Cantor <coxede6557@w3boats.com>
		
	
					 | 
			||
|---|---|---|
| .. | ||
| acx-mac80211 | ||
| ath10k-ct | ||
| bcm27xx-gpu-fw | ||
| bcm63xx-cfe | ||
| broadcom-wl | ||
| button-hotplug | ||
| cryptodev-linux | ||
| dtc/patches | ||
| gpio-button-hotplug | ||
| gpio-nct5104d | ||
| gpio-nxp-74hc153 | ||
| hwmon-gsc | ||
| lantiq | ||
| linux | ||
| mac80211 | ||
| mt76 | ||
| mt7621-qtn-rgmii | ||
| mwlwifi | ||
| nat46 | ||
| om-watchdog | ||
| rtc-rv5c386a | ||
| rtl8812au-ct | ||
| trelay | ||