aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath5k/base.c
diff options
context:
space:
mode:
authorBruno Randolf <bruno@thinktube.com>2008-01-20 21:09:46 -0500
committerDavid S. Miller <davem@davemloft.net>2008-01-28 18:10:54 -0500
commitc0e1899bdbd5e997d2256fcc23fc4e3d2bc5f811 (patch)
tree2af37199a685e69095fae80c8628eff5891c4ff9 /drivers/net/wireless/ath5k/base.c
parent6d91e1d80822da1c3e790bfbe8df432360fd7f68 (diff)
ath5k: always extend rx timestamp with tsf
always extend the rx timestamp with the local TSF, since this information is also needed for proper IBSS merging. this is done in the tasklet for now, maybe has to be moved to the interrupt handler like in madwifi. drivers/net/wireless/ath5k/base.c: Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bruno Randolf <bruno@thinktube.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath5k/base.c')
-rw-r--r--drivers/net/wireless/ath5k/base.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/drivers/net/wireless/ath5k/base.c b/drivers/net/wireless/ath5k/base.c
index b2a6ef559b69..72bcf321d1ce 100644
--- a/drivers/net/wireless/ath5k/base.c
+++ b/drivers/net/wireless/ath5k/base.c
@@ -1775,11 +1775,18 @@ accept:
1775 skb_pull(skb, pad); 1775 skb_pull(skb, pad);
1776 } 1776 }
1777 1777
1778 if (sc->opmode == IEEE80211_IF_TYPE_MNTR) 1778 /*
1779 rxs.mactime = ath5k_extend_tsf(sc->ah, 1779 * always extend the mac timestamp, since this information is
1780 ds->ds_rxstat.rs_tstamp); 1780 * also needed for proper IBSS merging.
1781 else 1781 *
1782 rxs.mactime = ds->ds_rxstat.rs_tstamp; 1782 * XXX: it might be too late to do it here, since rs_tstamp is
1783 * 15bit only. that means TSF extension has to be done within
1784 * 32768usec (about 32ms). it might be necessary to move this to
1785 * the interrupt handler, like it is done in madwifi.
1786 */
1787 rxs.mactime = ath5k_extend_tsf(sc->ah, ds->ds_rxstat.rs_tstamp);
1788 rxs.flag |= RX_FLAG_TSFT;
1789
1783 rxs.freq = sc->curchan->freq; 1790 rxs.freq = sc->curchan->freq;
1784 rxs.channel = sc->curchan->chan; 1791 rxs.channel = sc->curchan->chan;
1785 rxs.phymode = sc->curmode; 1792 rxs.phymode = sc->curmode;