diff options
author | Sam Leffler <sleffler@google.com> | 2009-11-30 18:33:52 +0100 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2009-11-30 18:36:31 +0100 |
commit | 83bab160484da934e9060cb1cac5215efb0e5269 (patch) | |
tree | ae9ff0a2b18392587b949edd5c5b4c49d7256a7d | |
parent | 322c62bff4462c38c6643e9850847afd4c671c08 (diff) | |
download | connman-83bab160484da934e9060cb1cac5215efb0e5269.tar.gz connman-83bab160484da934e9060cb1cac5215efb0e5269.tar.bz2 connman-83bab160484da934e9060cb1cac5215efb0e5269.zip |
Use simpler wpa_supplicant state tracking
Do not remove network on transition to DISCONNECTED state, it will
be done when connection anyway. Also merge DISCONNECTED and INACTIVE
states into one.
-rw-r--r-- | plugins/supplicant.c | 22 |
1 files changed, 3 insertions, 19 deletions
diff --git a/plugins/supplicant.c b/plugins/supplicant.c index 0d0c29b5..0ca65401 100644 --- a/plugins/supplicant.c +++ b/plugins/supplicant.c @@ -1625,25 +1625,6 @@ static void state_change(struct supplicant_task *task, DBusMessage *msg) connman_network_set_connected(task->network, TRUE); break; - case WPA_DISCONNECTED: - remove_network(task); - - /* carrier off */ - connman_network_set_connected(task->network, FALSE); - - if (task->disconnecting == TRUE) { - 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); - } else - task->network = NULL; - } - break; - case WPA_ASSOCIATING: switch (prevstate) { case WPA_COMPLETED: @@ -1664,7 +1645,10 @@ static void state_change(struct supplicant_task *task, DBusMessage *msg) default: goto badstate; } + /* fall through */ + case WPA_DISCONNECTED: + /* carrier off */ connman_network_set_connected(task->network, FALSE); if (task->disconnecting == TRUE) { |