From: Daniel Wagner <daniel.wag...@bmw-carit.de> The network_probe() function will be called several times until it creates successfuly the service object.
In the case of the oFono plugin, the connman_device_add_network() is called after the driver has been registered to the network. Therefore the network->driver has been set but no device yet. __connman_service_create_from_network() returns -EINVAL because the device is not yet set. The next call on network_probe() will bail out on 'if (network->drive != NULL) return -EALREADY;' so we have to reset it in the first round. --- src/network.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/src/network.c b/src/network.c index 40ab8aa..1dc12fe 100644 --- a/src/network.c +++ b/src/network.c @@ -162,8 +162,10 @@ static int network_probe(struct connman_network *network) case CONNMAN_NETWORK_TYPE_WIFI: case CONNMAN_NETWORK_TYPE_WIMAX: network->driver = driver; - if (__connman_service_create_from_network(network) == NULL) + if (__connman_service_create_from_network(network) == NULL) { + network->driver = NULL; return -EINVAL; + } } return 0; -- 1.7.6 _______________________________________________ connman mailing list connman@connman.net http://lists.connman.net/listinfo/connman