summaryrefslogtreecommitdiff
path: root/src/network.c
diff options
context:
space:
mode:
authorJukka Rissanen <jukka.rissanen@linux.intel.com>2012-01-18 15:25:01 +0200
committerSamuel Ortiz <sameo@linux.intel.com>2012-01-20 01:35:24 +0100
commit01f1e8e974a35cfb52da0d691c8273c44b6d8e25 (patch)
treea23e22069d86880d46bc67744f18558abfba690e /src/network.c
parent65557bbb7dc89348981fe65f2ee56e0ac31da275 (diff)
downloadconnman-01f1e8e974a35cfb52da0d691c8273c44b6d8e25.tar.gz
connman-01f1e8e974a35cfb52da0d691c8273c44b6d8e25.tar.bz2
connman-01f1e8e974a35cfb52da0d691c8273c44b6d8e25.zip
network: Do not start IPv6 autoconfiguration if already pending
Diffstat (limited to 'src/network.c')
-rw-r--r--src/network.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/network.c b/src/network.c
index 82c7cd0f..96dd9ccc 100644
--- a/src/network.c
+++ b/src/network.c
@@ -1126,6 +1126,16 @@ static void autoconf_ipv6_set(struct connman_network *network)
DBG("network %p", network);
+ if (network->router_solicit_count > 0) {
+ /*
+ * The autoconfiguration is already pending and we have sent
+ * router solicitation messages and are now waiting answers.
+ * There is no need to continue any further.
+ */
+ DBG("autoconfiguration already started");
+ return;
+ }
+
__connman_device_set_network(network->device, network);
connman_device_set_disconnected(network->device, FALSE);