diff options
author | Mohamed Abbas <mabbas@linux.intel.com> | 2010-10-27 03:17:39 -0700 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2010-11-02 11:56:00 +0100 |
commit | a091beb5bd344661c86b2c2a397740e2eed9e8e1 (patch) | |
tree | bbd8159b24ec69109a19eb7589ec4f4fae78752b | |
parent | a10269d912d02b74c3e64c9914b803460a35cf68 (diff) | |
download | connman-a091beb5bd344661c86b2c2a397740e2eed9e8e1.tar.gz connman-a091beb5bd344661c86b2c2a397740e2eed9e8e1.tar.bz2 connman-a091beb5bd344661c86b2c2a397740e2eed9e8e1.zip |
gsupplicant: Fix deadlock when disassociate while associating
Without setting the associating flag to false, ConnMan could potentially enter
an infinite loop through __connman_network_disconnect().
-rw-r--r-- | plugins/wifi.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/plugins/wifi.c b/plugins/wifi.c index a159a9df..69548fdf 100644 --- a/plugins/wifi.c +++ b/plugins/wifi.c @@ -617,6 +617,8 @@ static int network_disconnect(struct connman_network *network) if (wifi == NULL || wifi->interface == NULL) return -ENODEV; + connman_network_set_associating(network, FALSE); + return g_supplicant_interface_disconnect(wifi->interface, disconnect_callback, wifi); } |