diff options
author | Alok Barsode <alok.barsode@linux.intel.com> | 2011-06-20 14:06:12 +0300 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2011-06-27 16:15:07 +0200 |
commit | b3eb89368c50be00119171f577e3b4c86c5464ab (patch) | |
tree | 78fb1b35fe7182b32a7836d366d92c4d8d235d4c /plugins | |
parent | 99289af2a4ef8c25ca7ee0a94d8a001a320c7911 (diff) | |
download | connman-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.c | 14 |
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, |