From be29b0bad449743ecebf1451ff29953176f05297 Mon Sep 17 00:00:00 2001 From: Tomasz Bursztyka Date: Wed, 2 May 2012 16:46:12 +0300 Subject: [PATCH] service: Handle nicely request input error --- src/service.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/service.c b/src/service.c index 97a4263..2310994 100644 --- a/src/service.c +++ b/src/service.c @@ -4409,6 +4409,16 @@ static void request_input_cb (struct connman_service *service, DBG ("RequestInput return, %p", service); + if (error != NULL) { + DBG("error: %s", error); + + if (g_strcmp0(error, + "net.connman.Agent.Error.Canceled") == 0) { + err = -EINVAL; + goto done; + } + } + if (service->hidden == TRUE && name_len > 0 && name_len <= 32) { device = connman_network_get_device(service->network); __connman_device_request_hidden_scan(device, @@ -4417,10 +4427,8 @@ static void request_input_cb (struct connman_service *service, } if (values_received == FALSE || service->hidden == TRUE) { - service_complete(service); - __connman_connection_update_gateway(); - __connman_device_request_scan(CONNMAN_DEVICE_TYPE_UNKNOWN); - return; + err = -EINVAL; + goto done; } if (wps == TRUE && service->network != NULL) { @@ -4450,6 +4458,9 @@ static void request_input_cb (struct connman_service *service, __connman_agent_report_error(service, error2string(service->error), report_error_cb, NULL); + } else if (err == -EINVAL) { + service_complete(service); + __connman_connection_update_gateway(); } } -- 2.7.4