From ff5f54e15941b6809cadd7aeec442f0a16287f7b Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Fri, 15 Mar 2019 00:08:37 +0200 Subject: [PATCH] SAE: Reduce queue wait time for pending Authentication frames The queue_len * 50 ms wait time was too large with the retransmission timeouts used in the mesh case for SAE. The maximum wait of 750 ms was enough to prevent successful completion of authentication after having hit the maximum queue length. While the previous commit is enough to allow this to complete successfully in couple of retries, it looks like a smaller wait time should be used here even if it means potentially using more CPU. Drop the processing wait time to queue_len * 10 ms so that the maximum wait time is 150 ms if the queue is full. Signed-off-by: Jouni Malinen --- src/ap/ieee802_11.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ap/ieee802_11.c b/src/ap/ieee802_11.c index 03e1756f6..df80b58dc 100644 --- a/src/ap/ieee802_11.c +++ b/src/ap/ieee802_11.c @@ -1287,7 +1287,7 @@ void auth_sae_process_commit(void *eloop_ctx, void *user_ctx) if (eloop_is_timeout_registered(auth_sae_process_commit, hapd, NULL)) return; queue_len = dl_list_len(&hapd->sae_commit_queue); - eloop_register_timeout(0, queue_len * 50000, auth_sae_process_commit, + eloop_register_timeout(0, queue_len * 10000, auth_sae_process_commit, hapd, NULL); } @@ -1345,7 +1345,7 @@ static void auth_sae_queue(struct hostapd_data *hapd, queued: if (eloop_is_timeout_registered(auth_sae_process_commit, hapd, NULL)) return; - eloop_register_timeout(0, queue_len * 50000, auth_sae_process_commit, + eloop_register_timeout(0, queue_len * 10000, auth_sae_process_commit, hapd, NULL); }