Skip to contentSkip to conversation

brcmfmac: Add timestamp to scan results report

PATCH In review [email protected] 3 participants 3 messages Mar 21, 2018 – Mar 22, 2018 Broadcom BRCM80211 IEEE802.11 wireless drivers

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 brcmfmac: Add timestamp to scan results report

From 01da9ee11ce6e0973972b2ffd37eef660714f71a Mon Sep 17 00:00:00 2001
From: Dmitry Shmidt <[email protected]>
Date: Wed, 21 Mar 2018 15:35:45 -0700
Subject: [PATCH] brcmfmac: Add timestamp to scan results report

Monotonic time from boot is good timestamp indicator and it can be used by kernel and userspace.

Change-Id I122374fa79c6dbd7967b2c30553cb04dee032ebc
---
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +5 -1
index 4157c90ad973..76d6ed553b7c 100644
@@ -2845,6 +2845,8 @@ static s32 brcmf_inform_single_bss(struct brcmf_cfg80211_info *cfg,
 	struct cfg80211_bss *bss;
 	struct ieee80211_supported_band *band;
 	struct brcmu_chan ch;
+	struct timespec ts;
+	u64 timestamp;
 	u16 channel;
 	u32 freq;
 	u16 notify_capability;
@@ -2885,10 +2887,12 @@ static s32 brcmf_inform_single_bss(struct brcmf_cfg80211_info *cfg,
 	brcmf_dbg(CONN, "Beacon interval: %d\n", notify_interval);
 	brcmf_dbg(CONN, "Signal: %d\n", notify_signal);
 
+	get_monotonic_boottime(&ts);
+	timestamp = (u64)ts.tv_sec * 1000000 + ts.tv_nsec / 1000;
 	bss = cfg80211_inform_bss(wiphy, notify_channel,
 				  CFG80211_BSS_FTYPE_UNKNOWN,
 				  (const u8 *)bi->BSSID,
-				  0, notify_capability,
+				  timestamp, notify_capability,
 				  notify_interval, notify_ie,
 				  notify_ielen, notify_signal,
 				  GFP_KERNEL);
Signature · 1 line
2.17.0.rc0.231.g781580f067-goog
maintainer
#1 lore raw
Quoted 7 lines · On 3/21/2018 11:44 PM, [email protected] wrote:

From 01da9ee11ce6e0973972b2ffd37eef660714f71a Mon Sep 17 00:00:00 2001
From: Dmitry Shmidt <[email protected]>
Date: Wed, 21 Mar 2018 15:35:45 -0700
Subject: [PATCH] brcmfmac: Add timestamp to scan results report

Monotonic time from boot is good timestamp indicator and it can be used by kernel and userspace.

Thanks, Dmitry

I recall a similar attempt for another driver, but I think the timestamp should really be the TSF of the beacon/proberesp received. As you already Cc-ed Johannes explicitly maybe he can clarify what is needed here as I do not recall the details. ;-)

Regards,
Arend

Quoted 5 lines
Change-Id I122374fa79c6dbd7967b2c30553cb04dee032ebc
---
  drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 6 +++++-
  1 file changed, 5 insertions(+), 1 deletion(-)
#2 lore raw
Quoted 4 lines · Arend van Spriel

I recall a similar attempt for another driver, but I think the timestamp should really be the TSF of the beacon/proberesp received. As you already Cc-ed Johannes explicitly maybe he can clarify what is needed here as I do not recall the details. ;-)

Yes, this should be "tsf", it's actually labelled explicitly as such. I know Android used to get this wrong and *even test* it wrongly, but that's no excuse.

However, should switch this to cfg80211_inform_bss_data() and use the timestamp set up here to fill the cfg80211_inform_bss::boottime_ns value. That's also sent to userspace in the proper way for this.

johannes