Hi Pasi,

Nice catch!

ACK from me.

Tomasz

From: Pasi Sjöholm <pasi.sjoh...@jollamobile.com>

It's possible from wpa_s to change the state from completed to scanning
without going through disconnected state if interface signals that the carrier
went off and on (IFF_LOWER_UP flag).

This will cause dead lock similar in c810464828d6764bea304de3e9b6b151aa05e313
if the wifi gets into associating state as the network->connected is still true
but wifi->connected is not.
---
  plugins/wifi.c | 5 +++++
  1 file changed, 5 insertions(+)

diff --git a/plugins/wifi.c b/plugins/wifi.c
index d0d7917..47df08e 100755
--- a/plugins/wifi.c
+++ b/plugins/wifi.c
@@ -2341,6 +2341,11 @@ static void interface_state(GSupplicantInterface 
*interface)
switch (state) {
        case G_SUPPLICANT_STATE_SCANNING:
+               if (wifi->connected) {
+                       connman_network_set_connected(network, false);
+                       start_autoscan(device);
+               }
+
                break;
case G_SUPPLICANT_STATE_AUTHENTICATING:

_______________________________________________
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman

Reply via email to