diff options
author | sam <sam@FreeBSD.org> | 2005-06-10 01:29:21 +0000 |
---|---|---|
committer | sam <sam@FreeBSD.org> | 2005-06-10 01:29:21 +0000 |
commit | 7b2e90955c0ee333b799228a9ceb542ec7ba2613 (patch) | |
tree | b9de1d3c07d802ff2371e1a72da686901510cbc8 /sys/net80211/ieee80211_input.c | |
parent | aa4ecbabe57f2faf89abfd7436f8cb2f52fd8f65 (diff) | |
download | FreeBSD-src-7b2e90955c0ee333b799228a9ceb542ec7ba2613.zip FreeBSD-src-7b2e90955c0ee333b799228a9ceb542ec7ba2613.tar.gz |
record tstamp from beacons received in station mode when associated;
this is needed by drivers that want to resync their timers based on
the tsf of the last recv'd beacon frame
Diffstat (limited to 'sys/net80211/ieee80211_input.c')
-rw-r--r-- | sys/net80211/ieee80211_input.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/net80211/ieee80211_input.c b/sys/net80211/ieee80211_input.c index 9f648f6..2e21b1a 100644 --- a/sys/net80211/ieee80211_input.c +++ b/sys/net80211/ieee80211_input.c @@ -1841,6 +1841,9 @@ ieee80211_recv_mgmt(struct ieee80211com *ic, struct mbuf *m0, ni->ni_associd != 0 && ((ic->ic_flags & IEEE80211_F_SCAN) == 0 || IEEE80211_ADDR_EQ(wh->i_addr2, ni->ni_bssid))) { + /* record tsf of last beacon */ + memcpy(ni->ni_tstamp.data, tstamp, + sizeof(ni->ni_tstamp)); if (ni->ni_erp != erp) { IEEE80211_DPRINTF(ic, IEEE80211_MSG_ASSOC, "[%s] erp change: was 0x%x, now 0x%x\n", |