mirror of
https://github.com/openwrt/openwrt.git
synced 2025-04-13 22:23:38 +00:00
hostapd: fix bringing up AP+STA when the new channel is on a DFS channel
If a CAC is needed because the channel is not available yet, a full AP interface restart is needed Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
parent
12f53724c6
commit
22ca6fdeeb
@ -7,6 +7,7 @@
|
||||
#include "beacon.h"
|
||||
#include "hw_features.h"
|
||||
#include "ap_drv_ops.h"
|
||||
#include "dfs.h"
|
||||
#include <libubox/uloop.h>
|
||||
|
||||
static uc_resource_type_t *global_type, *bss_type, *iface_type;
|
||||
@ -367,6 +368,13 @@ out:
|
||||
if (conf->channel)
|
||||
iface->freq = hostapd_hw_get_freq(iface->bss[0], conf->channel);
|
||||
|
||||
if (hostapd_is_dfs_required(iface) && !hostapd_is_dfs_chan_available(iface)) {
|
||||
wpa_printf(MSG_INFO, "DFS CAC required on new channel, restart interface");
|
||||
hostapd_disable_iface(iface);
|
||||
hostapd_enable_iface(iface);
|
||||
return ucv_boolean_new(true);
|
||||
}
|
||||
|
||||
for (i = 0; i < iface->num_bss; i++) {
|
||||
struct hostapd_data *hapd = iface->bss[i];
|
||||
int ret;
|
||||
|
Loading…
x
Reference in New Issue
Block a user