blob: 22e91c7f982351db02c93350c3e78e47d4f94d2a [file] [log] [blame]
developer05f3b2b2024-08-19 19:17:34 +08001From 03ace053c9dfcbfafec764a894292180f5587c42 Mon Sep 17 00:00:00 2001
developer66e89bc2024-04-23 14:50:01 +08002From: "fancy.liu" <fancy.liu@mediatek.com>
3Date: Wed, 1 Nov 2023 19:58:05 +0800
developer05f3b2b2024-08-19 19:17:34 +08004Subject: [PATCH 058/126] mtk: hostapd: Fix chan_switch to usable DFS channel
developer66e89bc2024-04-23 14:50:01 +08005 fail due to ACS
6
7Step and issue:
81. Enable ACS in hostapd config;
92. Bootup and then use hostapd_cli cmd switch channel to a DFS channel;
103. Will do ACS again, and no work on channel specified in step 2.
11
12Root cause:
13When need do DFS-CAC, hostapd will do intf disable, then set the new
14channel into running config settings, and finally enable intf;
15In the test case, new DFS channel is set to runnint config settings, but
developer05f3b2b2024-08-19 19:17:34 +080016another param acs is still 1 (enable), caused the ACS running when
developer66e89bc2024-04-23 14:50:01 +080017intf enabled.
18
19Solution:
20In the hostapd_switch_channel_fallback, need to disable acs if channel
21is valid.
22
23Signed-off-by: fancy.liu <fancy.liu@mediatek.com>
24---
25 src/ap/hostapd.c | 3 +++
26 1 file changed, 3 insertions(+)
27
28diff --git a/src/ap/hostapd.c b/src/ap/hostapd.c
developer05f3b2b2024-08-19 19:17:34 +080029index 7ebdf4eb0..97bc4808e 100644
developer66e89bc2024-04-23 14:50:01 +080030--- a/src/ap/hostapd.c
31+++ b/src/ap/hostapd.c
developer05f3b2b2024-08-19 19:17:34 +080032@@ -4669,6 +4669,9 @@ hostapd_switch_channel_fallback(struct hostapd_iface *iface,
developer66e89bc2024-04-23 14:50:01 +080033
34 iface->freq = freq_params->freq;
35 iface->conf->channel = freq_params->channel;
36+ if (iface->conf->channel != 0) /* If channel not zero, will disable acs. */
37+ iface->conf->acs = 0;
38+
39 iface->conf->secondary_channel = freq_params->sec_channel_offset;
developer05f3b2b2024-08-19 19:17:34 +080040 if (ieee80211_freq_to_channel_ext(freq_params->freq,
41 freq_params->sec_channel_offset, bw,
developer66e89bc2024-04-23 14:50:01 +080042--
developer05f3b2b2024-08-19 19:17:34 +0800432.18.0
developer66e89bc2024-04-23 14:50:01 +080044