summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJukka Rissanen <jukka.rissanen@linux.intel.com>2012-08-13 12:51:31 +0300
committerPatrik Flykt <patrik.flykt@linux.intel.com>2012-08-14 14:31:55 +0300
commitfe2550f3e14bd24d72ed00296b6c693d9f453488 (patch)
treeb51efee444d30a618a4c5e2c8367fc0a6a5b3730
parent6bae637a21e39a7cbccde607a0c813a1b3104378 (diff)
downloadconnman-fe2550f3e14bd24d72ed00296b6c693d9f453488.tar.gz
connman-fe2550f3e14bd24d72ed00296b6c693d9f453488.tar.bz2
connman-fe2550f3e14bd24d72ed00296b6c693d9f453488.zip
service: Disconnect provider after connection timeout
The provider was not disconnected after a connection timeout. This lead to weird issues in VPN code; like following provider connect request would disconnect the earlier VPN connection and report EALREADY to the user.
-rw-r--r--src/service.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/service.c b/src/service.c
index 16b1494d..14a8d22b 100644
--- a/src/service.c
+++ b/src/service.c
@@ -3511,6 +3511,8 @@ static gboolean connect_timeout(gpointer user_data)
if (service->network != NULL)
__connman_network_disconnect(service->network);
+ else if (service->provider != NULL)
+ __connman_provider_disconnect(service->provider);
__connman_ipconfig_disable(service->ipconfig_ipv4);
__connman_ipconfig_disable(service->ipconfig_ipv6);