summaryrefslogtreecommitdiff
path: root/plugins/wifi.c
diff options
context:
space:
mode:
authorSamuel Ortiz <sameo@linux.intel.com>2010-09-28 00:00:18 +0200
committerSamuel Ortiz <sameo@linux.intel.com>2010-09-28 00:03:19 +0200
commitf3e8c0ff1d26b1add5f9016f476c032647b583b8 (patch)
tree8d50c6d9028ebfbf6a7b58dcdbce350bb36d1c8e /plugins/wifi.c
parent91684de2d56bebd8e1c5b9ec15ec5dc1f9d6f267 (diff)
downloadconnman-f3e8c0ff1d26b1add5f9016f476c032647b583b8.tar.gz
connman-f3e8c0ff1d26b1add5f9016f476c032647b583b8.tar.bz2
connman-f3e8c0ff1d26b1add5f9016f476c032647b583b8.zip
Set the network associating state to false when disconnecting
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.
Diffstat (limited to 'plugins/wifi.c')
-rw-r--r--plugins/wifi.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/plugins/wifi.c b/plugins/wifi.c
index ebe05092..19601d71 100644
--- a/plugins/wifi.c
+++ b/plugins/wifi.c
@@ -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: