aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--wpa_supplicant/ap.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/wpa_supplicant/ap.c b/wpa_supplicant/ap.c
index cfefa48d..807e36d0 100644
--- a/wpa_supplicant/ap.c
+++ b/wpa_supplicant/ap.c
@@ -807,12 +807,17 @@ static void wpas_ap_configured_cb(void *ctx)
return;
}
+ if (wpa_s->current_ssid) {
+ int acs = 0;
#ifdef CONFIG_ACS
- if (wpa_s->current_ssid && wpa_s->current_ssid->acs) {
- wpa_s->assoc_freq = wpa_s->ap_iface->freq;
- wpa_s->current_ssid->frequency = wpa_s->ap_iface->freq;
+ acs = wpa_s->current_ssid->acs;
+#endif
+ if (acs || (wpa_s->assoc_freq && wpa_s->ap_iface->freq &&
+ wpa_s->assoc_freq != wpa_s->ap_iface->freq)) {
+ wpa_s->assoc_freq = wpa_s->ap_iface->freq;
+ wpa_s->current_ssid->frequency = wpa_s->ap_iface->freq;
+ }
}
-#endif /* CONFIG_ACS */
wpa_supplicant_set_state(wpa_s, WPA_COMPLETED);