From 5b45fc2b74bcb7244afee60ae651749f882dbe9e Mon Sep 17 00:00:00 2001 From: Tomasz Bursztyka Date: Wed, 4 Jul 2012 17:24:41 +0300 Subject: [PATCH] wifi: Add support for autoscan request --- plugins/wifi.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) 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) -- 2.7.4