summaryrefslogtreecommitdiff
path: root/src/service.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/service.c')
-rw-r--r--src/service.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/service.c b/src/service.c
index 34c4e479..3092f673 100644
--- a/src/service.c
+++ b/src/service.c
@@ -1867,8 +1867,6 @@ static struct connman_service *__connman_service_get(const char *identifier)
service->profile = g_strdup(__connman_profile_active_ident());
- __connman_storage_load_service(service);
-
iter = g_sequence_insert_sorted(service_list, service,
service_compare, NULL);
@@ -1891,13 +1889,15 @@ static int service_register(struct connman_service *service)
DBG("path %s", service->path);
+ __connman_config_provision_service(service);
+
+ __connman_storage_load_service(service);
+
g_dbus_register_interface(connection, service->path,
CONNMAN_SERVICE_INTERFACE,
service_methods, service_signals,
NULL, service, NULL);
- __connman_storage_load_service(service);
-
iter = g_hash_table_lookup(service_hash, service->identifier);
if (iter != NULL)
g_sequence_sort_changed(iter, service_compare, NULL);
@@ -1966,8 +1966,6 @@ static void setup_ipconfig(struct connman_service *service, int index)
connman_ipconfig_set_method(service->ipconfig,
CONNMAN_IPCONFIG_METHOD_DHCP);
- __connman_storage_load_service(service);
-
connman_ipconfig_set_data(service->ipconfig, service);
connman_ipconfig_set_ops(service->ipconfig, &service_ops);
@@ -2245,8 +2243,6 @@ struct connman_service *__connman_service_create_from_network(struct connman_net
service_register(service);
- __connman_profile_changed(TRUE);
-
if (service->favorite == TRUE)
__connman_service_auto_connect();