From 1d3c75b3b6663ed9f3a9a8dea8d47056cce2680f Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Wed, 4 Jun 2008 21:00:09 +0300 Subject: [PATCH] Give adhoc associations a bit more time Depending on how the driver implements IBSS searching and creation, it may need to perform one or more scans before successfully completing the association operation. Therefore, increase the timeout for IBSS association operations so that the supplicant doesn't interrupt the driver as much. --- wpa_supplicant/wpa_supplicant.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/wpa_supplicant/wpa_supplicant.c b/wpa_supplicant/wpa_supplicant.c index 548721292..5fb4f16f3 100644 --- a/wpa_supplicant/wpa_supplicant.c +++ b/wpa_supplicant/wpa_supplicant.c @@ -1090,13 +1090,15 @@ void wpa_supplicant_associate(struct wpa_supplicant *wpa_s, wpa_supplicant_set_state(wpa_s, WPA_COMPLETED); } else { /* Timeout for IEEE 802.11 authentication and association */ - int timeout; - if (assoc_failed) - timeout = 5; - else if (wpa_s->conf->ap_scan == 1) - timeout = 10; - else - timeout = 60; + int timeout = 60; + + if (assoc_failed) { + /* give IBSS a bit more time */ + timeout = ssid->mode ? 10 : 5; + } else if (wpa_s->conf->ap_scan == 1) { + /* give IBSS a bit more time */ + timeout = ssid->mode ? 20 : 10; + } wpa_supplicant_req_auth_timeout(wpa_s, timeout, 0); }