[PATCH v4 02/20] PR: Gate EDCA ranging support on ASAP capability
Kavita Kavita
kavita.kavita at oss.qualcomm.com
Fri May 22 18:23:34 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 | 2 ++
3 files changed, 6 insertions(+)
diff --git a/src/drivers/driver.h b/src/drivers/driver.h
index 4ef575b00..0e7b26a03 100644
--- a/src/drivers/driver.h
+++ b/src/drivers/driver.h
@@ -2710,6 +2710,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 7b8a7bdb5..c791973b1 100644
--- a/src/drivers/driver_nl80211_capa.c
+++ b/src/drivers/driver_nl80211_capa.c
@@ -1275,6 +1275,9 @@ static void pmsr_type_ftm_handler(struct wpa_driver_nl80211_data *drv,
/* Parse additional ranging capabilities */
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 = nl80211_to_pd_preamble_bitmap(
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 c224ccd03..494538e60 100644
--- a/wpa_supplicant/pr_supplicant.c
+++ b/wpa_supplicant/pr_supplicant.c
@@ -404,9 +404,11 @@ int wpas_pr_init(struct wpa_global *global, struct wpa_supplicant *wpa_s,
wpas_pr_best_edca_format_bw(capa->pd_bandwidths,
capa->pd_preambles);
pr.edca_ista_support = capa->ista.support_edca &&
+ capa->asap_support &&
(pr.edca_format_and_bw !=
EDCA_FORMAT_AND_BW_INVALID);
pr.edca_rsta_support = capa->rsta.support_edca &&
+ capa->asap_support &&
(pr.edca_format_and_bw !=
EDCA_FORMAT_AND_BW_INVALID);
pr.pd_format_bw_bitmap = capa->pd_bandwidths;
--
2.34.1
More information about the Hostap
mailing list