summaryrefslogtreecommitdiff
path: root/gsupplicant
diff options
context:
space:
mode:
authorTomasz Bursztyka <tomasz.bursztyka@nokia.com>2011-01-26 10:09:44 +0200
committerSamuel Ortiz <sameo@linux.intel.com>2011-01-27 12:56:09 +0100
commit7784ca7234be2b854f298f4e150ecaa5212c0301 (patch)
treef2aead8cd4582e701f94d826b82bb59acb2ffd6d /gsupplicant
parent30444fa5481de11e6ad2c2847d4dbca9254b0e5e (diff)
downloadconnman-7784ca7234be2b854f298f4e150ecaa5212c0301.tar.gz
connman-7784ca7234be2b854f298f4e150ecaa5212c0301.tar.bz2
connman-7784ca7234be2b854f298f4e150ecaa5212c0301.zip
gsupplicant: Disconnect request might not need to go through RemoveNetwork call
Diffstat (limited to 'gsupplicant')
-rw-r--r--gsupplicant/supplicant.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gsupplicant/supplicant.c b/gsupplicant/supplicant.c
index bed049aa..8c91a839 100644
--- a/gsupplicant/supplicant.c
+++ b/gsupplicant/supplicant.c
@@ -2835,6 +2835,12 @@ static void interface_disconnect_result(const char *error,
if (error != NULL && data->callback != NULL)
data->callback(-EIO, data->interface, data->user_data);
+ /* If we are disconnecting from previous WPS successful
+ * association. i.e.: it did not went through AddNetwork,
+ * and interface->network_path was never set. */
+ if (data->interface->network_path == NULL)
+ return;
+
network_remove(data);
}