Message ID | 00000000000080af470567f3ef29@google.com |
---|---|
State | New |
Headers | show |
Series | brcmfmac: Add timestamp to scan results report | expand |
On 3/21/2018 11:44 PM, dimitrysh@google.com wrote: > From 01da9ee11ce6e0973972b2ffd37eef660714f71a Mon Sep 17 00:00:00 2001 > From: Dmitry Shmidt <dimitrysh@google.com> > 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 > Change-Id: I122374fa79c6dbd7967b2c30553cb04dee032ebc > Signed-off-by: Dmitry Shmidt <dimitrysh@google.com> > --- > drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-)
On Thu, 2018-03-22 at 11:44 +0100, Arend van Spriel wrote: > 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
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c index 4157c90ad973..76d6ed553b7c 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c @@ -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;