}
err = device->driver->disable(device);
- if (err == 0) {
- connman_device_set_powered(device, FALSE);
- goto done;
- }
-
- if (err == -EALREADY) {
+ if (err == 0 || err == -EALREADY) {
connman_device_set_powered(device, FALSE);
goto done;
}
type = __connman_device_get_service_type(device);
- if (device->powered == TRUE)
- __connman_technology_enabled(type);
- else
+ if (device->powered == FALSE) {
__connman_technology_disabled(type);
-
- if (powered == FALSE)
return 0;
+ }
+
+ __connman_technology_enabled(type);
connman_device_set_disconnected(device, FALSE);
device->scanning = FALSE;
void connman_device_reset_scanning(struct connman_device *device)
{
- device->scanning = FALSE;
-
g_hash_table_foreach(device->networks,
mark_network_available, NULL);
}