P2P: Do not delay retries on failure during group formation
4-way handshake may fail under extremely noisy environment and if this happens during P2P group formation, the 10 second extra delay added in wpas_auth_failed() can result in running over the 15 second timeout. Avoid this by skipping the delay mechanism in wpas_auth_failed() for the P2P group formation case. The P2P formation timeout will take care of stopping the attempts if the failure condition does not get resolved. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
parent
dc01de8a0e
commit
cbf41ca796
1 changed files with 12 additions and 0 deletions
|
@ -3804,6 +3804,18 @@ void wpas_auth_failed(struct wpa_supplicant *wpa_s)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
ssid->auth_failures++;
|
ssid->auth_failures++;
|
||||||
|
|
||||||
|
#ifdef CONFIG_P2P
|
||||||
|
if (ssid->p2p_group &&
|
||||||
|
(wpa_s->p2p_in_provisioning || wpa_s->show_group_started)) {
|
||||||
|
/*
|
||||||
|
* Skip the wait time since there is a short timeout on the
|
||||||
|
* connection to a P2P group.
|
||||||
|
*/
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
#endif /* CONFIG_P2P */
|
||||||
|
|
||||||
if (ssid->auth_failures > 50)
|
if (ssid->auth_failures > 50)
|
||||||
dur = 300;
|
dur = 300;
|
||||||
else if (ssid->auth_failures > 20)
|
else if (ssid->auth_failures > 20)
|
||||||
|
|
Loading…
Reference in a new issue