forked from mirror/openwrt
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:
parent
217c315423
commit
3786d15561
1 changed files with 6 additions and 1 deletions
|
|
@ -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:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue