aboutsummaryrefslogtreecommitdiffstats
path: root/net/wireless/nl80211.c
diff options
context:
space:
mode:
authorAvraham Stern <avraham.stern@intel.com>2022-01-27 13:56:29 +0200
committerJohannes Berg <johannes.berg@intel.com>2022-07-22 14:28:27 +0200
commit1ff715ffa0ec1b5af9093c43185e686f575f15cc (patch)
tree7c4db45b4537627084d08adacf3b377f5c6ce24b /net/wireless/nl80211.c
parentwifi: cfg80211/nl80211: move rx management data into a struct (diff)
downloadlinux-dev-1ff715ffa0ec1b5af9093c43185e686f575f15cc.tar.xz
linux-dev-1ff715ffa0ec1b5af9093c43185e686f575f15cc.zip
wifi: cfg80211: add hardware timestamps to frame RX info
Add hardware timestamps to management frame RX info. This shall be used by drivers that support hardware timestamping for Timing measurement and Fine timing measurement action frames RX. Signed-off-by: Avraham Stern <avraham.stern@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/wireless/nl80211.c')
-rw-r--r--net/wireless/nl80211.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index 80d3471041d1..e5ed0950ef0b 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -18383,7 +18383,15 @@ int nl80211_send_mgmt(struct cfg80211_registered_device *rdev,
nla_put_u32(msg, NL80211_ATTR_RX_SIGNAL_DBM, info->sig_dbm)) ||
nla_put(msg, NL80211_ATTR_FRAME, info->len, info->buf) ||
(info->flags &&
- nla_put_u32(msg, NL80211_ATTR_RXMGMT_FLAGS, info->flags)))
+ nla_put_u32(msg, NL80211_ATTR_RXMGMT_FLAGS, info->flags)) ||
+ (info->rx_tstamp && nla_put_u64_64bit(msg,
+ NL80211_ATTR_RX_HW_TIMESTAMP,
+ info->rx_tstamp,
+ NL80211_ATTR_PAD)) ||
+ (info->ack_tstamp && nla_put_u64_64bit(msg,
+ NL80211_ATTR_TX_HW_TIMESTAMP,
+ info->ack_tstamp,
+ NL80211_ATTR_PAD)))
goto nla_put_failure;
genlmsg_end(msg, hdr);