From 6c2f60275820b0eaf76ca9790fe30014e6eb8a51 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Mon, 4 Jan 2010 16:45:10 -0800 Subject: [PATCH] Fix issue when manual IP setup not using configuration state --- src/network.c | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/src/network.c b/src/network.c index 160151d..99ee917 100644 --- a/src/network.c +++ b/src/network.c @@ -674,11 +674,11 @@ void connman_network_set_error(struct connman_network *network, } } -static void set_connected_manual(struct connman_network *network) +static void set_configuration(struct connman_network *network) { struct connman_service *service; - DBG(""); + DBG("network %p", network); __connman_device_increase_connections(network->device); @@ -687,18 +687,29 @@ static void set_connected_manual(struct connman_network *network) connman_device_set_disconnected(network->device, FALSE); service = __connman_service_lookup_from_network(network); + __connman_service_indicate_state(service, + CONNMAN_SERVICE_STATE_CONFIGURATION); +} + +static void set_connected_manual(struct connman_network *network) +{ + struct connman_service *service; + + DBG("network %p", network); + + set_configuration(network); network->connecting = FALSE; connman_network_set_associating(network, FALSE); + service = __connman_service_lookup_from_network(network); __connman_service_indicate_state(service, CONNMAN_SERVICE_STATE_READY); } static int set_connected_dhcp(struct connman_network *network) { struct connman_element *element; - struct connman_service *service; int error; DBG("network %p", network); @@ -706,9 +717,6 @@ static int set_connected_dhcp(struct connman_network *network) if (network->protocol != CONNMAN_NETWORK_PROTOCOL_IP) return -EINVAL; - service = __connman_service_lookup_from_network(network); - - DBG("a"); element = connman_element_create(NULL); if (element == NULL) return -ENOMEM; @@ -722,14 +730,7 @@ static int set_connected_dhcp(struct connman_network *network) return error; } - __connman_device_increase_connections(network->device); - - __connman_device_set_network(network->device, network); - - connman_device_set_disconnected(network->device, FALSE); - - __connman_service_indicate_state(service, - CONNMAN_SERVICE_STATE_CONFIGURATION); + set_configuration(network); return 0; } -- 2.7.4