wifi: Autoscan should be started or stopped according to interface's state
authorTomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
Tue, 24 Apr 2012 13:29:51 +0000 (16:29 +0300)
committerMarcel Holtmann <marcel@holtmann.org>
Tue, 24 Apr 2012 14:19:06 +0000 (16:19 +0200)
plugins/wifi.c

index 8f1ad8b..28b3563 100644 (file)
@@ -1175,10 +1175,15 @@ static void interface_state(GSupplicantInterface *interface)
 
        case G_SUPPLICANT_STATE_AUTHENTICATING:
        case G_SUPPLICANT_STATE_ASSOCIATING:
+               stop_autoscan(device);
+
                connman_network_set_associating(network, TRUE);
                break;
 
        case G_SUPPLICANT_STATE_COMPLETED:
+               /* though it should be already stopped: */
+               stop_autoscan(device);
+
                if (handle_wps_completion(interface, network, device, wifi) ==
                                                                        FALSE)
                        break;
@@ -1217,10 +1222,15 @@ static void interface_state(GSupplicantInterface *interface)
 
                connman_network_set_associating(network, FALSE);
                connman_network_set_connected(network, FALSE);
+
+               start_autoscan(device);
+
                break;
 
        case G_SUPPLICANT_STATE_INACTIVE:
                connman_network_set_associating(network, FALSE);
+               start_autoscan(device);
+
                break;
 
        case G_SUPPLICANT_STATE_UNKNOWN: