---
 src/agent.c   |   18 ------------------
 src/service.c |   20 ++++++++++++++++++++
 2 files changed, 20 insertions(+), 18 deletions(-)

diff --git a/src/agent.c b/src/agent.c
index 4f11577..25c517d 100644
--- a/src/agent.c
+++ b/src/agent.c
@@ -178,24 +178,6 @@ static void request_input_passphrase_reply(DBusPendingCall 
*call, void *user_dat
                dbus_message_iter_next(&dict);
        }
 
-       if (wps == TRUE) {
-               struct connman_network *network;
-
-               network = __connman_service_get_network(
-                                               passphrase_reply->service);
-               if (network == NULL)
-                       goto done;
-
-               connman_network_set_bool(network, "WiFi.UseWPS", wps);
-
-               if (wpspin != NULL && strlen(wpspin) > 0)
-                       connman_network_set_string(network,
-                                               "WiFi.PinWPS", wpspin);
-               else
-                       connman_network_set_string(network,
-                                               "WiFi.PinWPS", NULL);
-       }
-
 done:
        passphrase_reply->callback(passphrase_reply->service, values_received,
                                name, name_len,
diff --git a/src/service.c b/src/service.c
index 6b4cfe6..af6209c 100644
--- a/src/service.c
+++ b/src/service.c
@@ -4284,12 +4284,32 @@ static void request_input_cb (struct connman_service 
*service,
                return;
        }
 
+       if (wps == TRUE) {
+               struct connman_network *network;
+
+               network = __connman_service_get_network(service);
+
+               if (network == NULL) {
+                       err = -EINVAL;
+                       goto done;
+               }
+
+               if (wpspin != NULL) {
+                       err = connman_network_set_wpspin(network, wpspin);
+                       if (err < 0)
+                               goto done;
+               }
+
+               connman_network_set_bool(network, "WiFi.UseWPS", wps);
+       }
+
        if (identity != NULL)
                __connman_service_set_agent_identity(service, identity);
 
        if (passphrase != NULL)
                err = __connman_service_add_passphrase(service, passphrase);
 
+ done:
        if (err >= 0) {
                __connman_service_connect(service);
 
-- 
1.7.5.4

_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman

Reply via email to