File scan2.patch of Package wpa_supplicant
diff -ur BUILD/wpa_supplicant-0.6.4/wpa_supplicant/events.c BUILD2//wpa_supplicant-0.6.4/wpa_supplicant/events.c
--- BUILD/wpa_supplicant-0.6.4/wpa_supplicant/events.c 2009-01-20 15:17:27.000000000 +0100
+++ BUILD2//wpa_supplicant-0.6.4/wpa_supplicant/events.c 2009-01-20 15:17:12.000000000 +0100
@@ -564,6 +564,16 @@
if (wpa_s->conf->ap_scan == 2 || wpa_s->disconnected)
return;
+ /*
+ * Discard scan results if we are currently associating with an AP
+ * and haven't finished yet
+ */
+ if (wpa_s->wpa_state == WPA_ASSOCIATING
+ || wpa_s->wpa_state == WPA_ASSOCIATED
+ || wpa_s->wpa_state == WPA_4WAY_HANDSHAKE
+ || wpa_s->wpa_state == WPA_GROUP_HANDSHAKE)
+ return;
+
while (selected == NULL) {
for (prio = 0; prio < wpa_s->conf->num_prio; prio++) {
selected = wpa_supplicant_select_bss(