summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorMartin Xu <martin.xu@intel.com>2009-07-16 07:22:36 +0800
committerMarcel Holtmann <marcel@holtmann.org>2009-07-16 03:07:37 +0200
commitda2d28b38c3b6d521652c55f0451feccd9d02a7f (patch)
treeb037049903f4ab5fb4292bee276ebba3dcf308ac /plugins
parentb4436ebb00f0e6363d6fd340b68950a9daa20fc0 (diff)
downloadconnman-da2d28b38c3b6d521652c55f0451feccd9d02a7f.tar.gz
connman-da2d28b38c3b6d521652c55f0451feccd9d02a7f.tar.bz2
connman-da2d28b38c3b6d521652c55f0451feccd9d02a7f.zip
Fix stalled configuration issue with supplicant
Diffstat (limited to 'plugins')
-rw-r--r--plugins/supplicant.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/plugins/supplicant.c b/plugins/supplicant.c
index b964ae7a..66a7580c 100644
--- a/plugins/supplicant.c
+++ b/plugins/supplicant.c
@@ -1617,6 +1617,20 @@ static void state_change(struct supplicant_task *task, DBusMessage *msg)
connman_network_set_associating(task->network, TRUE);
break;
+ case WPA_INACTIVE:
+ if (task->disconnecting == TRUE) {
+ connman_network_set_connected(task->network, FALSE);
+ connman_network_unref(task->network);
+ task->disconnecting = FALSE;
+
+ if (task->pending_network != NULL) {
+ task->network = task->pending_network;
+ task->pending_network = NULL;
+ task_connect(task);
+ }
+ }
+ break;
+
default:
connman_network_set_associating(task->network, FALSE);
break;