[PATCH 02/16] PR: Handle PASN Authentication frame TX status with retransmission

Jouni Malinen j at w1.fi
Mon Jul 27 13:45:58 PDT 2026


On Mon, Jul 13, 2026 at 11:59:50AM +0530, Peddolla Harshavardhan Reddy wrote:
> Handle PASN Authentication frame 1 TX status in
> pr_pasn_auth_tx_status() by retransmitting the stored frame when it
> is not acknowledged. Extend the initiator auth work timeout from 2
> seconds to 10 seconds via a new PR_PASN_AUTH_TIMEOUT constant to
> provide sufficient window for retransmissions to succeed.

> diff --git a/src/common/proximity_ranging.c b/src/common/proximity_ranging.c
> @@ -2110,6 +2110,10 @@ int pr_pasn_auth_tx_status(struct pr_data *pr, const u8 *data, size_t data_len,
>  	ret = wpa_pasn_auth_tx_status(pasn, data, data_len, acked);
> +	if (ret != 1 && !acked && pasn->frame)
> +		return pasn->send_mgmt(pasn->cb_ctx, wpabuf_head(pasn->frame),
> +				       wpabuf_len(pasn->frame), 0, pasn->freq,
> +				       1000);

This would seems to match almost any frame other than PASN
authentication frame 3. There might not be likely cases for another
Authentication frame having been transmitted recently, but I guess it
could happen. That might result in sending out an unexpected PASN frame,
so it would be better to modify wpa_pasn_auth_tx_status() and return
value handling here so that this could be done only if pasn->trans_seq
== 1 and the TX status is for PASN auth 1.

In addition, it does not feel reasonable to do this a significant number
of times. How many retries could happen during the 10 second timeout?
Should this be rate limited to avoid burst of duplicate frames should a
driver report TX status very quickly?

-- 
Jouni Malinen                                            PGP id EFC895FA



More information about the Hostap mailing list