summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/dhcp.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/dhcp.c b/src/dhcp.c
index 1dbe1baa..e64c975a 100644
--- a/src/dhcp.c
+++ b/src/dhcp.c
@@ -449,6 +449,12 @@ static int dhcp_request(struct connman_dhcp *dhcp)
service = connman_service_lookup_from_network(dhcp->network);
ipconfig = __connman_service_get_ip4config(service);
+ /*
+ * Clear the addresses at startup so that lease callback will
+ * take the lease and set ip address properly.
+ */
+ __connman_ipconfig_clear_address(ipconfig);
+
return g_dhcp_client_start(dhcp_client,
__connman_ipconfig_get_dhcp_address(ipconfig));
}