dhcp: Remove extra dhcp_release call
[framework/connectivity/connman.git] / src / dhcp.c
index 3106c3d..f1e3096 100644 (file)
@@ -73,6 +73,8 @@ static void dhcp_invalid(struct connman_dhcp *dhcp)
        if (ipconfig == NULL)
                return;
 
+       __connman_6to4_remove(ipconfig);
+
        __connman_service_set_domainname(service, NULL);
        __connman_service_set_pac(service, NULL);
        __connman_service_timeserver_remove(service, dhcp->timeserver);
@@ -289,6 +291,8 @@ static void lease_available_cb(GDHCPClient *dhcp_client, gpointer user_data)
        if (ip_change == TRUE)
                dhcp_valid(dhcp);
 
+       __connman_6to4_probe(service);
+
        g_free(address);
        g_free(netmask);
        g_free(gateway);
@@ -434,16 +438,8 @@ int __connman_dhcp_start(struct connman_network *network, dhcp_cb callback)
 
 void __connman_dhcp_stop(struct connman_network *network)
 {
-       struct connman_dhcp *dhcp;
-
        DBG("");
 
-       dhcp = g_hash_table_lookup(network_table, network);
-       if (dhcp == NULL)
-               return;
-
-       dhcp_release(dhcp);
-
        g_hash_table_remove(network_table, network);
 }