brcmfmac: Add timestamp to scan results report
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.
--- 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
@@ -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
Arend van Spriel
maintainerQuoted 7 lines · On 3/21/2018 11:44 PM, [email protected] wrote:
From
01da9ee11ce6e0973972b2ffd37eef660714f71aMon 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 reportMonotonic 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 I122374fa79c6dbd7967b2c30553cb04dee032ebcSigned-off-by Dmitry Shmidt <[email protected]>--- drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
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