From: Janusz Dziedzic Date: Wed, 8 Jan 2014 10:27:47 +0000 (+0100) Subject: hostapd: DFS/CSA check if CSA in progress X-Git-Tag: hostap_2_1~127 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=25592b236bf2a990505ee301675d023b7f291036;p=thirdparty%2Fhostap.git hostapd: DFS/CSA check if CSA in progress Check if CSA is already in progress, before triggering a new channel switch. Signed-hostap: Janusz Dziedzic --- diff --git a/src/ap/dfs.c b/src/ap/dfs.c index caf40927f..dea4781e5 100644 --- a/src/ap/dfs.c +++ b/src/ap/dfs.c @@ -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,