---
 plugins/wifi.c |   18 +++++++++++++++++-
 1 files changed, 17 insertions(+), 1 deletions(-)

diff --git a/plugins/wifi.c b/plugins/wifi.c
index 0a842f9..c0f7ddc 100644
--- a/plugins/wifi.c
+++ b/plugins/wifi.c
@@ -604,6 +604,18 @@ static void setup_autoscan(struct wifi_data *wifi)
        start_autoscan(wifi->device);
 }
 
+static void interface_autoscan_callback(int result,
+                                       GSupplicantInterface *interface,
+                                                       void *user_data)
+{
+       struct wifi_data *wifi = user_data;
+
+       if (result < 0) {
+               DBG("Could not enable Autoscan, falling back...");
+               setup_autoscan(wifi);
+       }
+}
+
 static void interface_create_callback(int result,
                                        GSupplicantInterface *interface,
                                                        void *user_data)
@@ -636,7 +648,11 @@ static void interface_create_callback(int result,
                return;
 
        /* Setting up automatic scanning */
-       setup_autoscan(wifi);
+       if (g_supplicant_interface_autoscan(interface, AUTOSCAN_DEFAULT,
+                               interface_autoscan_callback, wifi) < 0) {
+               DBG("Could not enable Autoscan, falling back...");
+               setup_autoscan(wifi);
+       }
 }
 
 static int wifi_enable(struct connman_device *device)
-- 
1.7.8.6

_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman

Reply via email to