mirror of
https://github.com/immortalwrt/immortalwrt.git
synced 2025-08-07 22:06:25 +08:00
hostapd: fix bss config reload while in DFS state
Only start a BSS after a config change if it was started before. Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
@ -256,6 +256,7 @@ uc_hostapd_bss_set_config(uc_vm_t *vm, size_t nargs)
|
||||
uc_value_t *files_only = uc_fn_arg(2);
|
||||
unsigned int i, idx = 0;
|
||||
int ret = -1;
|
||||
bool started;
|
||||
|
||||
if (!hapd || ucv_type(file) != UC_STRING)
|
||||
goto out;
|
||||
@ -287,6 +288,7 @@ uc_hostapd_bss_set_config(uc_vm_t *vm, size_t nargs)
|
||||
goto free;
|
||||
}
|
||||
|
||||
started = hapd->started;
|
||||
__uc_hostapd_bss_stop(hapd);
|
||||
|
||||
old_bss = hapd->conf;
|
||||
@ -299,7 +301,10 @@ uc_hostapd_bss_set_config(uc_vm_t *vm, size_t nargs)
|
||||
if (hapd == iface->bss[0])
|
||||
memcpy(hapd->own_addr, hapd->conf->bssid, ETH_ALEN);
|
||||
|
||||
ret = __uc_hostapd_bss_start(hapd);
|
||||
if (started)
|
||||
ret = __uc_hostapd_bss_start(hapd);
|
||||
else
|
||||
ret = 0;
|
||||
hostapd_ucode_update_interfaces();
|
||||
|
||||
free:
|
||||
|
Reference in New Issue
Block a user