--- Hi Daniel, Have fun :] I really don't like the patch if it saves us for now...
Tomasz plugins/wifi.c | 21 +++++++++++++++++++-- 1 files changed, 19 insertions(+), 2 deletions(-) diff --git a/plugins/wifi.c b/plugins/wifi.c index d10612c..571dbf1 100644 --- a/plugins/wifi.c +++ b/plugins/wifi.c @@ -1180,7 +1180,11 @@ static void interface_state(GSupplicantInterface *interface) case G_SUPPLICANT_STATE_ASSOCIATING: stop_autoscan(device); - connman_network_set_associating(network, TRUE); + if (wifi->state != G_SUPPLICANT_STATE_COMPLETED) + connman_network_set_associating(network, TRUE); + else + connman_warn("We might be roaming right now"); + break; case G_SUPPLICANT_STATE_COMPLETED: @@ -1249,7 +1253,20 @@ static void interface_state(GSupplicantInterface *interface) break; } - wifi->state = state; + /* We don't store wpa_s state when reassociating (roaming?) */ + switch (state) { + case G_SUPPLICANT_STATE_AUTHENTICATING: + case G_SUPPLICANT_STATE_ASSOCIATING: + case G_SUPPLICANT_STATE_ASSOCIATED: + case G_SUPPLICANT_STATE_4WAY_HANDSHAKE: + case G_SUPPLICANT_STATE_GROUP_HANDSHAKE: + if (wifi->state == G_SUPPLICANT_STATE_COMPLETED) { + connman_warn("We might be roaming right now"); + break; + } + default: + wifi->state = state; + } DBG("DONE"); } -- 1.7.8.5 _______________________________________________ connman mailing list connman@connman.net http://lists.connman.net/listinfo/connman