Prevent ap_scan change during association
Change-Id: Ibb13f40b2732a4e6749f40da4a6cf14080b54d73
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
diff --git a/wpa_supplicant/wpa_supplicant.c b/wpa_supplicant/wpa_supplicant.c
index f2ef4cc..a1e5456 100644
--- a/wpa_supplicant/wpa_supplicant.c
+++ b/wpa_supplicant/wpa_supplicant.c
@@ -1653,6 +1653,15 @@
if (ap_scan < 0 || ap_scan > 2)
return -1;
+#ifdef ANDROID
+ if ((ap_scan == 2) && ((wpa_s->wpa_state >= WPA_ASSOCIATING) &&
+ (wpa_s->wpa_state < WPA_COMPLETED))) {
+ wpa_printf(MSG_ERROR, "ap_scan = %d (%d)",wpa_s->conf->ap_scan,
+ ap_scan);
+ return 0;
+ }
+#endif
+
old_ap_scan = wpa_s->conf->ap_scan;
wpa_s->conf->ap_scan = ap_scan;