[PATCH v3 15/46] PR: Gate EDCA ranging support on ASAP capability

Kavita Kavita kavita.kavita at oss.qualcomm.com
Wed May 13 02:59:39 PDT 2026


Parse NL80211_PMSR_FTM_CAPA_ATTR_ASAP from the driver and store
it in capa->asap_support. Gate both pr.edca_ista_support and
pr.edca_rsta_support on ASAP support since ASAP is mandatory for
EDCA-based ranging.

This ensures EDCA ranging requests are only sent when the driver
advertises ASAP support, preventing invalid ranging attempts.

Signed-off-by: Kavita Kavita <kavita.kavita at oss.qualcomm.com>
---
 src/drivers/driver.h              | 1 +
 src/drivers/driver_nl80211_capa.c | 3 +++
 wpa_supplicant/pr_supplicant.c    | 4 ++--
 3 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/drivers/driver.h b/src/drivers/driver.h
index a1f922f9a..18c51b75c 100644
--- a/src/drivers/driver.h
+++ b/src/drivers/driver.h
@@ -2699,6 +2699,7 @@ struct wpa_driver_capa {
 	u8 max_ftms_per_burst;
 	bool concurrent_ista_rsta;
 	bool support_6ghz;
+	bool asap_support;
 	u32 pd_preambles;
 	u32 pd_bandwidths;
 
diff --git a/src/drivers/driver_nl80211_capa.c b/src/drivers/driver_nl80211_capa.c
index 281f06d22..6051a0801 100644
--- a/src/drivers/driver_nl80211_capa.c
+++ b/src/drivers/driver_nl80211_capa.c
@@ -1251,6 +1251,9 @@ static void pmsr_type_ftm_handler(struct wpa_driver_nl80211_data *drv,
 	drv->capa.support_6ghz =
 		!!tb[NL80211_PMSR_FTM_CAPA_ATTR_6GHZ_SUPPORT];
 
+	drv->capa.asap_support =
+		!!tb[NL80211_PMSR_FTM_CAPA_ATTR_ASAP];
+
 	if (tb[NL80211_PMSR_FTM_CAPA_ATTR_PD_PREAMBLES])
 		drv->capa.pd_preambles =
 			nla_get_u32(tb[NL80211_PMSR_FTM_CAPA_ATTR_PD_PREAMBLES]);
diff --git a/wpa_supplicant/pr_supplicant.c b/wpa_supplicant/pr_supplicant.c
index f50712a96..9b3e09d82 100644
--- a/wpa_supplicant/pr_supplicant.c
+++ b/wpa_supplicant/pr_supplicant.c
@@ -355,8 +355,8 @@ int wpas_pr_init(struct wpa_global *global, struct wpa_supplicant *wpa_s,
 	pr.pasn_type = wpa_s->conf->pr_pasn_type;
 	pr.preferred_ranging_role = wpa_s->conf->pr_preferred_role;
 
-	pr.edca_ista_support = capa->ista.support_edca;
-	pr.edca_rsta_support = capa->rsta.support_edca;
+	pr.edca_ista_support = capa->ista.support_edca && capa->asap_support;
+	pr.edca_rsta_support = capa->rsta.support_edca && capa->asap_support;
 	pr.pd_format_bw_bitmap = capa->pd_bandwidths;
 	pr.pd_preamble_bitmap = capa->pd_preambles;
 	pr.edca_format_and_bw =
-- 
2.34.1




More information about the Hostap mailing list