Johannes Berg a écrit :
On Mon, 2010-02-15 at 00:33 +0100, Benoit Papillault wrote:
According to IEEE 802.11, we should merge even if the BSSID from the
received beacon is the same as our since merge can update more things
that BSSID itself.
This is specifically true for ath9k where the merge updates TBTT
timers
as a side effect and this is indeed needed if the TSF has been updated
(if TSF is updated, we need to update TBTT timers as well).
However, it could cause continuous merges if the RX timestamp or
drv_get_tsf() is not accurate or not implemented.
It can't actually. Please do your own research on things like that
before posting a patch :)
johannes
For Zydas chipset for instance, the TSF is not merged at the hardware
level (I sent another patch to fix that). As such, if we receive a
beacon with a higher TSF and did a merge at the software level, then on
the next beacon, our own TSF has moved by the same delta as the value in
the received beacon, so the beacon TSF is still higher than our own TSF,
thus merging again (since we now accept merge with the same BSSID).
For the not implemented case (ie local->ops->get_tsf is null),
drv_get_tsf() will returns -1 and then no merge could happen. You are
right. I put part of our discussion into the changelog, mostly to
acknowledge your toughts without checking myself. My bad!
Regards,
Benoit
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html