blob: bd258ada17fb2d081994c67bc0e6cb39333dab04 [file] [log] [blame]
From 4445b818de45ca5511e81dc535606a368c97b86d Mon Sep 17 00:00:00 2001
From: dzou <dzou@company.com>
Date: Sun, 5 Jun 2022 23:22:12 +0800
Subject: [PATCH 907/911] 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 <owen.peng@mediatek.com>
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
---
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 000b411be..1224acd31 100644
--- a/src/ap/dfs.c
+++ b/src/ap/dfs.c
@@ -1108,6 +1108,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 =
@@ -1118,10 +1120,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));
}
--
2.29.2