provider: Handle connman_provider_load() in provider_create()
authorPatrik Flykt <patrik.flykt@linux.intel.com>
Wed, 25 Jan 2012 11:49:43 +0000 (13:49 +0200)
committerSamuel Ortiz <sameo@linux.intel.com>
Fri, 27 Jan 2012 10:21:24 +0000 (11:21 +0100)
Load provider data in provider_create() if provider_register()
returns success.

src/provider.c

index baa3c9b..1989ff9 100644 (file)
@@ -208,7 +208,6 @@ static void provider_remove(struct connman_provider *provider)
 
 static int provider_register(struct connman_provider *provider)
 {
-       connman_provider_load(provider);
        return provider_probe(provider);
 }
 
@@ -636,7 +635,8 @@ int __connman_provider_create_and_connect(DBusMessage *msg)
                provider->name = g_strdup(name);
                provider->type = g_strdup(type);
 
-               provider_register(provider);
+               if (provider_register(provider) == 0)
+                       connman_provider_load(provider);
        }
 
        dbus_message_iter_init(msg, &iter);