diff --git a/[refs] b/[refs] index 20014b33cd6f..6f3a4ecd368a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6d91e1d80822da1c3e790bfbe8df432360fd7f68 +refs/heads/master: c0e1899bdbd5e997d2256fcc23fc4e3d2bc5f811 diff --git a/trunk/drivers/net/wireless/ath5k/base.c b/trunk/drivers/net/wireless/ath5k/base.c index b2a6ef559b69..72bcf321d1ce 100644 --- a/trunk/drivers/net/wireless/ath5k/base.c +++ b/trunk/drivers/net/wireless/ath5k/base.c @@ -1775,11 +1775,18 @@ ath5k_tasklet_rx(unsigned long data) skb_pull(skb, pad); } - if (sc->opmode == IEEE80211_IF_TYPE_MNTR) - rxs.mactime = ath5k_extend_tsf(sc->ah, - ds->ds_rxstat.rs_tstamp); - else - rxs.mactime = ds->ds_rxstat.rs_tstamp; + /* + * always extend the mac timestamp, since this information is + * also needed for proper IBSS merging. + * + * XXX: it might be too late to do it here, since rs_tstamp is + * 15bit only. that means TSF extension has to be done within + * 32768usec (about 32ms). it might be necessary to move this to + * the interrupt handler, like it is done in madwifi. + */ + rxs.mactime = ath5k_extend_tsf(sc->ah, ds->ds_rxstat.rs_tstamp); + rxs.flag |= RX_FLAG_TSFT; + rxs.freq = sc->curchan->freq; rxs.channel = sc->curchan->chan; rxs.phymode = sc->curmode;