]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
hostapd: DFS/CSA check if CSA in progress
authorJanusz Dziedzic <janusz.dziedzic@tieto.com>
Wed, 8 Jan 2014 10:27:47 +0000 (11:27 +0100)
committerJouni Malinen <j@w1.fi>
Tue, 14 Jan 2014 15:13:50 +0000 (17:13 +0200)
Check if CSA is already in progress, before triggering a new channel
switch.

Signed-hostap: Janusz Dziedzic <janusz.dziedzic@tieto.com>

src/ap/dfs.c

index caf40927f4c59d7200ff2f70c53ae2cb4579d636..dea4781e52006feb04c165d0a129d3db8987684f 100644 (file)
@@ -680,14 +680,18 @@ 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,