Set the network associating state to false when disconnecting
authorSamuel Ortiz <sameo@linux.intel.com>
Mon, 27 Sep 2010 22:00:18 +0000 (00:00 +0200)
committerSamuel Ortiz <sameo@linux.intel.com>
Mon, 27 Sep 2010 22:03:19 +0000 (00:03 +0200)
The gsupplicant based plugin is not setting the network state appropriately
and can trigger an infinite loop between connman_network_set_connected()
and network_disconnect.

plugins/wifi.c

index ebe0509..19601d7 100644 (file)
@@ -337,10 +337,12 @@ static void interface_state(GSupplicantInterface *interface)
                break;
 
        case G_SUPPLICANT_STATE_DISCONNECTED:
+               connman_network_set_associating(network, FALSE);
                connman_network_set_connected(network, FALSE);
                break;
 
        case G_SUPPLICANT_STATE_INACTIVE:
+               connman_network_set_associating(network, FALSE);
                break;
 
        case G_SUPPLICANT_STATE_UNKNOWN: