From 389b7de973f7445ac1b7f59129f6671ce6c5bdd3 Mon Sep 17 00:00:00 2001 From: Jukka Rissanen Date: Thu, 10 Feb 2011 17:52:16 +0200 Subject: [PATCH] network: Set service state correctly when ipconfig is cleared --- src/network.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/network.c b/src/network.c index 7a4d931..240da89 100644 --- a/src/network.c +++ b/src/network.c @@ -1094,12 +1094,14 @@ int __connman_network_clear_ipconfig(struct connman_network *network, { struct connman_service *service; enum connman_ipconfig_method method; + enum connman_ipconfig_type type; service = __connman_service_lookup_from_network(network); if (service == NULL) return -EINVAL; method = __connman_ipconfig_get_method(ipconfig); + type = __connman_ipconfig_get_config_type(ipconfig); switch (method) { case CONNMAN_IPCONFIG_METHOD_UNKNOWN: @@ -1117,7 +1119,12 @@ int __connman_network_clear_ipconfig(struct connman_network *network, break; } - __connman_service_indicate_state(service, + if (type == CONNMAN_IPCONFIG_TYPE_IPV6) + __connman_service_indicate_state(service, + CONNMAN_SERVICE_STATE_CONFIGURATION, + CONNMAN_IPCONFIG_TYPE_IPV6); + else if (type == CONNMAN_IPCONFIG_TYPE_IPV4) + __connman_service_indicate_state(service, CONNMAN_SERVICE_STATE_CONFIGURATION, CONNMAN_IPCONFIG_TYPE_IPV4); -- 2.7.4