[PATCH 1/2] hostapd: DFS/CSA check if CSA in progress

Janusz Dziedzic janusz.dziedzic
Wed Jan 8 02:27:47 PST 2014


Check if CSA is already in progress, before
trigger new channel switch.

Signed-hostap: Janusz Dziedzic <janusz.dziedzic at tieto.com>
---
 src/ap/dfs.c |    9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/ap/dfs.c b/src/ap/dfs.c
index caf4092..7ee829a 100644
--- a/src/ap/dfs.c
+++ b/src/ap/dfs.c
@@ -680,14 +680,17 @@ static int hostapd_dfs_start_channel_switch(struct hostapd_iface *iface)
 	struct hostapd_data *hapd = iface->bss[0];
 	int err = 1;
 
-	wpa_printf(MSG_DEBUG, "%s called (CAC active: %s)", __func__,
-		   iface->cac_started ? "yes" : "no");
+	wpa_printf(MSG_DEBUG, "%s called (CAC active: %s, CSA active: %s)", __func__,
+		   iface->cac_started ? "yes" : "no", iface->csa_in_progress ? "yes" : "no");
+
+	/* Check if CSA in progress */
+	if (iface->csa_in_progress)
+		return 0;
 
 	/* Check if active CAC */
 	if (iface->cac_started)
 		return hostapd_dfs_start_channel_switch_cac(iface);
 
-
 	/* Perform channel switch/CSA */
 	channel = dfs_get_valid_channel(iface, &secondary_channel,
 					&vht_oper_centr_freq_seg0_idx,
-- 
1.7.9.5




More information about the Hostap mailing list