From 3094d4837a85366b1919d071f0f6d5696fe2006a Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Tue, 7 Sep 2010 13:21:33 +0300 Subject: [PATCH] P2P: Use group formation timeout (but longer one) with join-a-group 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 | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/wpa_supplicant/p2p_supplicant.c b/wpa_supplicant/p2p_supplicant.c index c9a38a16e..d86fa0429 100644 --- a/wpa_supplicant/p2p_supplicant.c +++ b/wpa_supplicant/p2p_supplicant.c @@ -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; }