blob: ef35c2dd4efde162e25cc665521e8ca2ccacd666 [file] [log] [blame]
developerd243af02023-12-21 14:49:33 +08001From 8a52855a8e3425d62b7ffba05ccf1ddd08223f78 Mon Sep 17 00:00:00 2001
developerf8871e82023-03-08 17:22:32 +08002From: "himanshu.goyal" <himanshu.goyal@mediatek.com>
developer505c9432023-05-12 18:58:17 +08003Date: Fri, 3 Mar 2023 12:45:42 +0800
developerd243af02023-12-21 14:49:33 +08004Subject: [PATCH 18/54] mtk: hostapd: Mark DFS channel as available for CSA.
developerf8871e82023-03-08 17:22:32 +08005
6---
7 hostapd/ctrl_iface.c | 10 ++++++++++
8 hostapd/hostapd_cli.c | 2 +-
9 src/ap/ctrl_iface_ap.c | 1 +
10 3 files changed, 12 insertions(+), 1 deletion(-)
11
12diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
developerd243af02023-12-21 14:49:33 +080013index 57addb22d..ba2137969 100644
developerf8871e82023-03-08 17:22:32 +080014--- a/hostapd/ctrl_iface.c
15+++ b/hostapd/ctrl_iface.c
developerdfb50982023-09-11 13:34:36 +080016@@ -2751,6 +2751,16 @@ static int hostapd_ctrl_iface_chan_switch(struct hostapd_iface *iface,
17 break;
developerf8871e82023-03-08 17:22:32 +080018 }
19
20+ if (settings.freq_params.radar_background) {
21+ hostapd_dfs_sta_update_state(iface,
22+ settings.freq_params.freq,
23+ settings.freq_params.ht_enabled,
24+ settings.freq_params.sec_channel_offset,
25+ bandwidth, settings.freq_params.center_freq1,
26+ settings.freq_params.center_freq2,
27+ HOSTAPD_CHAN_DFS_AVAILABLE);
28+ }
29+
30 if (settings.freq_params.center_freq1)
31 dfs_range += hostapd_is_dfs_overlap(
32 iface, bandwidth, settings.freq_params.center_freq1);
33diff --git a/hostapd/hostapd_cli.c b/hostapd/hostapd_cli.c
developerd243af02023-12-21 14:49:33 +080034index d59373062..0a374be8e 100644
developerf8871e82023-03-08 17:22:32 +080035--- a/hostapd/hostapd_cli.c
36+++ b/hostapd/hostapd_cli.c
developer505c9432023-05-12 18:58:17 +080037@@ -1715,7 +1715,7 @@ static const struct hostapd_cli_cmd hostapd_cli_commands[] = {
developerf8871e82023-03-08 17:22:32 +080038 "<addr> = send QoS Map Configure frame" },
39 { "chan_switch", hostapd_cli_cmd_chan_switch, NULL,
40 "<cs_count> <freq> [sec_channel_offset=] [center_freq1=]\n"
41- " [center_freq2=] [bandwidth=] [blocktx] [ht|vht]\n"
42+ " [center_freq2=] [bandwidth=] [blocktx] [ht|vht] [skip_cac]\n"
43 " = initiate channel switch announcement" },
44 { "hs20_wnm_notif", hostapd_cli_cmd_hs20_wnm_notif, NULL,
45 "<addr> <url>\n"
46diff --git a/src/ap/ctrl_iface_ap.c b/src/ap/ctrl_iface_ap.c
developerd243af02023-12-21 14:49:33 +080047index 0e173f174..7bdefb4cf 100644
developerf8871e82023-03-08 17:22:32 +080048--- a/src/ap/ctrl_iface_ap.c
49+++ b/src/ap/ctrl_iface_ap.c
developer8bff6472023-07-17 11:11:44 +080050@@ -1014,6 +1014,7 @@ int hostapd_parse_csa_settings(const char *pos,
developerf8871e82023-03-08 17:22:32 +080051 settings->freq_params.vht_enabled = !!os_strstr(pos, " vht");
52 settings->freq_params.he_enabled = !!os_strstr(pos, " he");
53 settings->freq_params.eht_enabled = !!os_strstr(pos, " eht");
54+ settings->freq_params.radar_background = !!os_strstr(pos, " skip_cac");
55 settings->block_tx = !!os_strstr(pos, " blocktx");
56 #undef SET_CSA_SETTING
developer505c9432023-05-12 18:58:17 +080057 #undef SET_CSA_SETTING_EXT
developerf8871e82023-03-08 17:22:32 +080058--
developerdfb50982023-09-11 13:34:36 +0800592.18.0
developerf8871e82023-03-08 17:22:32 +080060