summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorPeddolla Harshavardhan Reddy <peddolla.reddy@oss.qualcomm.com>2026-04-20 12:08:54 +0300
committerJohannes Berg <johannes.berg@intel.com>2026-05-05 14:46:06 +0300
commit410aa47fd9d308029f3520e97eec71a8eb508622 (patch)
tree5838f32d75fdc814644a73c373301c52495b33e0 /include
parent5733daa670dc1e1464be59dfcacaa76597201b3e (diff)
downloadlinux-410aa47fd9d308029f3520e97eec71a8eb508622.tar.xz
wifi: cfg80211: allow suppressing FTM result reporting for PD requests
Proximity detection often does not require detailed ranging measurements, yet userspace currently receives full FTM results for every request, causing unnecessary data transfer, host wakeups, and processing overhead. Add an optional control to suppress ranging result reporting for peer-to-peer PD requests. Introduce the NL80211_PMSR_FTM_REQ_ATTR_PD_SUPPRESS_RESULTS flag; when set with a PD request, the device may perform the measurements (e.g. when acting as RSTA) but must not report the measurement results to userspace. Validate that the flag is only accepted when request_type is set to NL80211_PMSR_FTM_REQ_TYPE_PD, reject otherwise. Signed-off-by: Peddolla Harshavardhan Reddy <peddolla.reddy@oss.qualcomm.com> Link: https://patch.msgid.link/20260420090856.2152905-12-peddolla.reddy@oss.qualcomm.com Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'include')
-rw-r--r--include/net/cfg80211.h6
-rw-r--r--include/uapi/linux/nl80211.h6
2 files changed, 12 insertions, 0 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index f5a47a0c7532..fdc8363b296c 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -4634,6 +4634,11 @@ struct cfg80211_pmsr_result {
* is set, only the specified threshold is used. If both are set, both
* thresholds are applied. If neither is set, results are reported without
* threshold filtering.
+ * @pd_suppress_range_results: flag to suppress ranging results for PD
+ * requests. When set, the device performs ranging measurements to
+ * provide ranging services to a peer (e.g. in RSTA role) but does
+ * not report the measurement results to userspace. Only valid when
+ * @request_type is %NL80211_PMSR_FTM_REQ_TYPE_PD.
*
* See also nl80211 for the respective attribute documentation.
*/
@@ -4662,6 +4667,7 @@ struct cfg80211_pmsr_ftm_request_peer {
u32 num_measurements;
u64 ingress_distance;
u64 egress_distance;
+ u8 pd_suppress_range_results:1;
};
/**
diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h
index 5bef8fd25270..1da4dc3fc816 100644
--- a/include/uapi/linux/nl80211.h
+++ b/include/uapi/linux/nl80211.h
@@ -8363,6 +8363,11 @@ enum nl80211_peer_measurement_ftm_type_capa {
* threshold is used. If both are specified, both thresholds are applied.
* If neither is specified, results are reported without threshold
* filtering.
+ * @NL80211_PMSR_FTM_REQ_ATTR_PD_SUPPRESS_RESULTS: Flag to suppress ranging
+ * results for PD requests. When set, ranging measurements are performed
+ * but results are not reported to userspace, regardless of ranging role
+ * or type. Only valid when %NL80211_PMSR_PEER_ATTR_REQ_TYPE is set to
+ * %NL80211_PMSR_FTM_REQ_TYPE_PD.
*
* @NUM_NL80211_PMSR_FTM_REQ_ATTR: internal
* @NL80211_PMSR_FTM_REQ_ATTR_MAX: highest attribute number
@@ -8392,6 +8397,7 @@ enum nl80211_peer_measurement_ftm_req {
NL80211_PMSR_FTM_REQ_ATTR_PAD,
NL80211_PMSR_FTM_REQ_ATTR_INGRESS,
NL80211_PMSR_FTM_REQ_ATTR_EGRESS,
+ NL80211_PMSR_FTM_REQ_ATTR_PD_SUPPRESS_RESULTS,
/* keep last */
NUM_NL80211_PMSR_FTM_REQ_ATTR,