mac80211: rework interface setup, fix race condition

Only tell netifd about vifs when the setup is complete and hostapd +
wpa_supplicant have been notified

Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
Felix Fietkau
2023-11-14 13:00:27 +01:00
parent d5a1de17ad
commit b7f9742da8
2 changed files with 74 additions and 92 deletions

View File

@@ -398,6 +398,7 @@ hostapd_set_vlan() {
rm -f /var/run/hostapd-${ifname}.vlan
for_each_vlan hostapd_set_vlan_file ${ifname}
touch /var/run/hostapd-${ifname}.vlan
}
hostapd_set_psk_file() {
@@ -416,6 +417,7 @@ hostapd_set_psk() {
rm -f /var/run/hostapd-${ifname}.psk
for_each_station hostapd_set_psk_file ${ifname}
touch /var/run/hostapd-${ifname}.psk
}
append_iw_roaming_consortium() {
@@ -688,10 +690,7 @@ hostapd_set_bss_options() {
return 1
fi
[ -z "$wpa_psk_file" ] && set_default wpa_psk_file /var/run/hostapd-$ifname.psk
[ -n "$wpa_psk_file" ] && {
[ -e "$wpa_psk_file" ] || touch "$wpa_psk_file"
append bss_conf "wpa_psk_file=$wpa_psk_file" "$N"
}
[ -n "$wpa_psk_file" ] && append bss_conf "wpa_psk_file=$wpa_psk_file" "$N"
[ "$eapol_version" -ge "1" -a "$eapol_version" -le "2" ] && append bss_conf "eapol_version=$eapol_version" "$N"
set_default dynamic_vlan 0