service: Disconnect provider after connection timeout
authorJukka Rissanen <jukka.rissanen@linux.intel.com>
Mon, 13 Aug 2012 09:51:31 +0000 (12:51 +0300)
committerPatrik Flykt <patrik.flykt@linux.intel.com>
Tue, 14 Aug 2012 11:31:55 +0000 (14:31 +0300)
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.

src/service.c

index 16b1494..14a8d22 100644 (file)
@@ -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);