From b63d953feb95529a59dbfd0d3028f50b76fe8268 Mon Sep 17 00:00:00 2001 From: Lorenzo Bianconi Date: Sun, 6 Mar 2022 20:34:13 +0100 Subject: [PATCH] DFS: Enable CSA for background radar detection Rely on hostapd_dfs_request_channel_switch() to enable CSA for background radar detection switching back to the selected channel. Tested-by: Owen Peng Signed-off-by: Lorenzo Bianconi --- src/ap/dfs.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/ap/dfs.c b/src/ap/dfs.c index a58ad2dab..91ea8c354 100644 --- a/src/ap/dfs.c +++ b/src/ap/dfs.c @@ -1090,6 +1090,8 @@ hostapd_dfs_is_background_event(struct hostapd_iface *iface, int freq) static int hostapd_dfs_start_channel_switch_background(struct hostapd_iface *iface) { + u8 current_vht_oper_chwidth = hostapd_get_oper_chwidth(iface->conf); + iface->conf->channel = iface->radar_background.channel; iface->freq = iface->radar_background.freq; iface->conf->secondary_channel = @@ -1100,10 +1102,12 @@ hostapd_dfs_start_channel_switch_background(struct hostapd_iface *iface) iface->conf, iface->radar_background.centr_freq_seg1_idx); hostpad_dfs_update_background_chain(iface); - hostapd_disable_iface(iface); - hostapd_enable_iface(iface); - return 0; + return hostapd_dfs_request_channel_switch( + iface, iface->conf->channel, iface->freq, + iface->conf->secondary_channel, current_vht_oper_chwidth, + hostapd_get_oper_centr_freq_seg0_idx(iface->conf), + hostapd_get_oper_centr_freq_seg1_idx(iface->conf)); }