summaryrefslogtreecommitdiff
path: root/src/provider.c
diff options
context:
space:
mode:
authorJukka Rissanen <jukka.rissanen@linux.intel.com>2012-11-23 13:41:22 +0200
committerDaniel Wagner <daniel.wagner@bmw-carit.de>2012-11-23 13:36:04 +0100
commit74dca0ab7101a25d4c4d1ca5d89f8a4807b94ac9 (patch)
treee0aba1c5592763647c8987d7aeae605a9dc6c1b3 /src/provider.c
parent8a20e52ddeb204bc1c73345ade542445dd3df244 (diff)
downloadconnman-74dca0ab7101a25d4c4d1ca5d89f8a4807b94ac9.tar.gz
connman-74dca0ab7101a25d4c4d1ca5d89f8a4807b94ac9.tar.bz2
connman-74dca0ab7101a25d4c4d1ca5d89f8a4807b94ac9.zip
provider: Set the state properly when removing provider
We need to set the provider into idle state when removing, otherwise the default route will not be set properly after provider removal. Fixes BMC#25658
Diffstat (limited to 'src/provider.c')
-rw-r--r--src/provider.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/provider.c b/src/provider.c
index fe7eb883..fa3bc485 100644
--- a/src/provider.c
+++ b/src/provider.c
@@ -197,6 +197,9 @@ int __connman_provider_remove(const char *path)
provider_remove(provider);
+ connman_provider_set_state(provider,
+ CONNMAN_PROVIDER_STATE_IDLE);
+
g_hash_table_remove(provider_hash,
provider->identifier);
return 0;