diff options
-rw-r--r-- | plugins/wifi.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/plugins/wifi.c b/plugins/wifi.c index ee305861..db87f01d 100644 --- a/plugins/wifi.c +++ b/plugins/wifi.c @@ -279,6 +279,7 @@ static void scan_callback(int result, GSupplicantInterface *interface, connman_device_reset_scanning(device); else connman_device_set_scanning(device, FALSE); + connman_device_unref(device); } static int wifi_scan(struct connman_device *device) @@ -291,10 +292,13 @@ static int wifi_scan(struct connman_device *device) if (wifi->tethering == TRUE) return 0; + connman_device_ref(device); ret = g_supplicant_interface_scan(wifi->interface, scan_callback, device); if (ret == 0) connman_device_set_scanning(device, TRUE); + else + connman_device_unref(device); return ret; } |