From: Samuel Ortiz Date: Thu, 24 Feb 2011 15:09:50 +0000 (+0100) Subject: service: Do not always reset the IPv4 state on error clearing X-Git-Tag: 0.71~35 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=78a203e7c156b2231e6fd0270d3ea8d7bfa5d2b7;p=platform%2Fupstream%2Fconnman.git service: Do not always reset the IPv4 state on error clearing When clearing the service error from the oFono plugin, moving the IPv6 state to IDLE can trigger an automatic connection and thus move the IPv4 to the ASSOCIATING state. --- diff --git a/src/service.c b/src/service.c index 91b7739..a103549 100644 --- a/src/service.c +++ b/src/service.c @@ -3604,6 +3604,14 @@ int __connman_service_clear_error(struct connman_service *service) __connman_service_indicate_state(service, CONNMAN_SERVICE_STATE_IDLE, CONNMAN_IPCONFIG_TYPE_IPV6); + /* + * Toggling the IPv6 state to IDLE could trigger the auto connect + * machinery and consequently the IPv4 state. + */ + if (service->state_ipv4 != CONNMAN_SERVICE_STATE_UNKNOWN && + service->state_ipv4 != CONNMAN_SERVICE_STATE_FAILURE) + return 0; + return __connman_service_indicate_state(service, CONNMAN_SERVICE_STATE_IDLE, CONNMAN_IPCONFIG_TYPE_IPV4);