aboutsummaryrefslogtreecommitdiffstats
path: root/wpa_supplicant/events.c
diff options
context:
space:
mode:
authorJouni Malinen <j@w1.fi>2014-11-30 13:42:26 (GMT)
committerJouni Malinen <j@w1.fi>2014-11-30 13:53:11 (GMT)
commit9a700ff9efadc7f817b6aea01f8bdaf363ccc29d (patch)
tree0d80dca2d6069c00c8e819dc0080335c1216e6c0 /wpa_supplicant/events.c
parent0a11409c00769026b4e89c5cbb089118256d3475 (diff)
downloadhostap-9a700ff9efadc7f817b6aea01f8bdaf363ccc29d.zip
hostap-9a700ff9efadc7f817b6aea01f8bdaf363ccc29d.tar.gz
hostap-9a700ff9efadc7f817b6aea01f8bdaf363ccc29d.tar.bz2
Ignore auth/assoc timeout events in mesh configuration
It was possible for auth/assoc timeout/failure event from the driver to result in unexpected processing during mesh group setup if that operation was started before the previously started driver operation to association/connect had completed. Since those events cannot happen in mesh cases, ignore them to avoid issues due to this corner case. For example, monitor_iface_unknown_sta followed by wpas_mesh_secure test case resulted in failure without this change. Signed-off-by: Jouni Malinen <j@w1.fi>
Diffstat (limited to 'wpa_supplicant/events.c')
-rw-r--r--wpa_supplicant/events.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/wpa_supplicant/events.c b/wpa_supplicant/events.c
index 06b09ef..5ef64e6 100644
--- a/wpa_supplicant/events.c
+++ b/wpa_supplicant/events.c
@@ -3110,10 +3110,24 @@ void wpa_supplicant_event(void *ctx, enum wpa_event_type event,
}
break;
case EVENT_AUTH_TIMED_OUT:
+ /* It is possible to get this event from earlier connection */
+ if (wpa_s->current_ssid &&
+ wpa_s->current_ssid->mode == WPAS_MODE_MESH) {
+ wpa_dbg(wpa_s, MSG_DEBUG,
+ "Ignore AUTH_TIMED_OUT in mesh configuration");
+ break;
+ }
if (wpa_s->drv_flags & WPA_DRIVER_FLAGS_SME)
sme_event_auth_timed_out(wpa_s, data);
break;
case EVENT_ASSOC_TIMED_OUT:
+ /* It is possible to get this event from earlier connection */
+ if (wpa_s->current_ssid &&
+ wpa_s->current_ssid->mode == WPAS_MODE_MESH) {
+ wpa_dbg(wpa_s, MSG_DEBUG,
+ "Ignore ASSOC_TIMED_OUT in mesh configuration");
+ break;
+ }
if (wpa_s->drv_flags & WPA_DRIVER_FLAGS_SME)
sme_event_assoc_timed_out(wpa_s, data);
break;