mac80211: add time synchronisation with BSS for assoc
authorJohannes Berg <johannes.berg@intel.com>
Tue, 22 May 2012 20:13:05 +0000 (22:13 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Thu, 12 Jul 2012 10:10:46 +0000 (12:10 +0200)
commit8c358bcd097fa1f63e57fb82525ba52f4a537bfa
treeac11cd1fef6682c7eabecda0254f56e4ba8e4316
parent30f422925c39edf61cbcf6d35140d726402d4b04
mac80211: add time synchronisation with BSS for assoc

Some drivers (iwlegacy, iwlwifi and rt2x00) today use the
bss_conf.last_tsf value. By itself though that value is
completely worthless since it may be ancient. What really
is needed is synchronisation between some device time and
the TSF.

To clarify this, rename bss_conf.last_tsf to sync_tsf and
add sync_device_ts which is obtained from rx_status which
gets a new field device_timestamp for this purpose. This
is intentionally not using the mactime field since that
is used for other things and in IBSS is expected to sync
with the IBSS's TSF which isn't necessarily true for the
device timestamp.

Also, since we have the information and it's useful even
before the connection has been established, give all the
timing details to the driver before authenticating.

Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/iwlegacy/common.c
drivers/net/wireless/iwlwifi/dvm/rxon.c
drivers/net/wireless/rt2x00/rt2x00config.c
include/net/mac80211.h
net/mac80211/ieee80211_i.h
net/mac80211/mlme.c
net/mac80211/scan.c
net/mac80211/trace.h