Hi Patrik
Looks like this patch was lost somewhere in your email over holidays. Can you have a look? This is about service state machine transitioning to Configuration when lease if lost

---------- Forwarded message ----------
From: Naveen Singh <naveensingh0977@gmail.com>
Date: Mon, Dec 28, 2015 at 12:49 AM
Subject: [PATCH v2] service: state transition to configuration
To: connman@ml01.01.org

From: nasingh <naveensingh0977@gmail.com>

When the DHCP renewal fails dhcp_failure is called which in turn calls
 __connman_connection_gateway_remove. This function unlike its
counterpart (__connman_connection_gateway_add which does the
service transition to READY) does not the change the state to
CONFIGURATION. This causes the service state to be stuck at ONLINE.
 src/connection.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/connection.c b/src/connection.c
index aa4e1c0..3cb428c 100644
--- a/src/connection.c
+++ b/src/connection.c
@@ -1014,6 +1014,16 @@ void __connman_connection_gateway_remove(struct connman_service *service,
                if (data)
                        set_default_gateway(data, type);
+       if (type == CONNMAN_IPCONFIG_TYPE_IPV4)
+               __connman_service_ipconfig_indicate_state(service,
+                               CONNMAN_SERVICE_STATE_CONFIGURATION,
+                               CONNMAN_IPCONFIG_TYPE_IPV4);
+       if (type == CONNMAN_IPCONFIG_TYPE_IPV6)
+               __connman_service_ipconfig_indicate_state(service,
+                               CONNMAN_SERVICE_STATE_CONFIGURATION,
+                               CONNMAN_IPCONFIG_TYPE_IPV6);

 bool __connman_connection_update_gateway(void)