From 60366a21071d0a338e8a7e7d62a5bf2f156e5190 Mon Sep 17 00:00:00 2001 From: Samuel Ortiz Date: Tue, 3 Aug 2010 16:48:33 +0200 Subject: [PATCH 2/6] Toggle offline mode only if device enablement succeeds --- src/device.c | 14 ++++++++++---- 1 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/device.c b/src/device.c index fc72544..aab0c83 100644 --- a/src/device.c +++ b/src/device.c @@ -1056,16 +1056,22 @@ int __connman_device_enable(struct connman_device *device) int __connman_device_enable_persistent(struct connman_device *device) { + int err; + DBG("device %p", device); device->powered_persistent = TRUE; - if (__connman_profile_get_offlinemode() == TRUE) - __connman_profile_set_offlinemode(FALSE, FALSE); - __connman_storage_save_device(device); - return __connman_device_enable(device); + err = __connman_device_enable(device); + if (err == 0 || err == -EINPROGRESS) { + if (__connman_profile_get_offlinemode() == TRUE) + __connman_profile_set_offlinemode(FALSE, FALSE); + + } + + return err; } int __connman_device_disable(struct connman_device *device) -- 1.7.1