summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorAlok Barsode <alok.barsode@linux.intel.com>2011-06-20 14:06:12 +0300
committerSamuel Ortiz <sameo@linux.intel.com>2011-06-27 16:15:07 +0200
commitb3eb89368c50be00119171f577e3b4c86c5464ab (patch)
tree78fb1b35fe7182b32a7836d366d92c4d8d235d4c /plugins
parent99289af2a4ef8c25ca7ee0a94d8a001a320c7911 (diff)
downloadconnman-b3eb89368c50be00119171f577e3b4c86c5464ab.tar.gz
connman-b3eb89368c50be00119171f577e3b4c86c5464ab.tar.bz2
connman-b3eb89368c50be00119171f577e3b4c86c5464ab.zip
wifi: Fix return value of wifi_[enable/disable].
Diffstat (limited to 'plugins')
-rw-r--r--plugins/wifi.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/plugins/wifi.c b/plugins/wifi.c
index b30af226..f4e51b24 100644
--- a/plugins/wifi.c
+++ b/plugins/wifi.c
@@ -216,17 +216,23 @@ static int wifi_enable(struct connman_device *device)
struct wifi_data *wifi = connman_device_get_data(device);
const char *interface = connman_device_get_string(device, "Interface");
const char *driver = connman_option_get_string("wifi");
+ int ret;
DBG("device %p %p", device, wifi);
- return g_supplicant_interface_create(interface, driver, NULL,
+ ret = g_supplicant_interface_create(interface, driver, NULL,
interface_create_callback,
wifi);
+ if (ret < 0)
+ return ret;
+
+ return -EINPROGRESS;
}
static int wifi_disable(struct connman_device *device)
{
struct wifi_data *wifi = connman_device_get_data(device);
+ int ret;
DBG("device %p", device);
@@ -238,9 +244,13 @@ static int wifi_disable(struct connman_device *device)
wifi->pending_network = NULL;
}
- return g_supplicant_interface_remove(wifi->interface,
+ ret = g_supplicant_interface_remove(wifi->interface,
interface_remove_callback,
wifi);
+ if (ret < 0)
+ return ret;
+
+ return -EINPROGRESS;
}
static void scan_callback(int result, GSupplicantInterface *interface,