[PATCH v4 10/20] PR: Use session time as total ROC budget for PASN responder
Kavita Kavita
kavita.kavita at oss.qualcomm.com
Fri May 22 18:23:42 PDT 2026
From: Peddolla Harshavardhan Reddy <peddolla.reddy at oss.qualcomm.com>
When continuous_ranging_session_time is configured, use it as the
total ROC budget for the PASN responder instead of the fixed
PR_PASN_RESPONDER_ROC_DURATION default. This ensures the responder
stops listening once the intended session duration expires.
Signed-off-by: Peddolla Harshavardhan Reddy <peddolla.reddy at oss.qualcomm.com>
---
wpa_supplicant/pr_supplicant.c | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/wpa_supplicant/pr_supplicant.c b/wpa_supplicant/pr_supplicant.c
index 8a7f89a82..6b110ff18 100644
--- a/wpa_supplicant/pr_supplicant.c
+++ b/wpa_supplicant/pr_supplicant.c
@@ -1077,6 +1077,8 @@ int wpas_pr_initiate_pasn_auth(struct wpa_supplicant *wpa_s,
if (pasn_role == PR_ROLE_PASN_RESPONDER) {
struct wpa_pr_pasn_roc_work *rwork;
+ struct pr_data *pr = wpa_s->global->pr;
+ unsigned int roc_time_ms = PR_PASN_RESPONDER_ROC_DURATION;
bool has_src_addr = src_addr && !is_zero_ether_addr(src_addr);
wpa_printf(MSG_DEBUG,
@@ -1116,9 +1118,16 @@ int wpas_pr_initiate_pasn_auth(struct wpa_supplicant *wpa_s,
/*
* Register the total-budget timer. When it fires it clears
* pr_responder_mode so the cancel callback stops restarting
- * chunks.
+ * chunks. Defaults to PR_PASN_RESPONDER_ROC_DURATION; overridden
+ * by continuous_ranging_session_time when non-zero.
*/
- eloop_register_timeout(0, PR_PASN_RESPONDER_ROC_DURATION * 1000,
+ if (pr && pr->pr_pasn_params &&
+ pr->pr_pasn_params->continuous_ranging_session_time > 0)
+ roc_time_ms =
+ pr->pr_pasn_params->continuous_ranging_session_time;
+
+ eloop_register_timeout(roc_time_ms / 1000,
+ (roc_time_ms % 1000) * 1000,
wpas_pr_pasn_roc_total_timeout,
wpa_s, NULL);
return 0;
--
2.34.1
More information about the Hostap
mailing list