P2P: Use group formation timeout (but longer one) with join-a-group
authorJouni Malinen <jouni.malinen@atheros.com>
Tue, 7 Sep 2010 10:21:33 +0000 (13:21 +0300)
committerJouni Malinen <j@w1.fi>
Fri, 10 Sep 2010 17:30:25 +0000 (10:30 -0700)
This allows the pending group interface to be removed if we fail
to join a running group. A longer than 15 second timeout is needed
here since the GO may not have authorized our connection yet.

wpa_supplicant/p2p_supplicant.c

index c9a38a1..d86fa04 100644 (file)
@@ -2504,6 +2504,15 @@ static int wpas_p2p_join_start(struct wpa_supplicant *wpa_s)
        res.wps_method = wpa_s->pending_join_wps_method;
        wpas_start_wps_enrollee(group, &res);
 
+       /*
+        * Allow a longer timeout for join-a-running-group than normal 15
+        * second group formation timeout since the GO may not have authorized
+        * our connection yet.
+        */
+       eloop_cancel_timeout(wpas_p2p_group_formation_timeout, wpa_s, NULL);
+       eloop_register_timeout(60, 0, wpas_p2p_group_formation_timeout,
+                              wpa_s, NULL);
+
        return 0;
 }