linux/drivers/net/wireless/ath
Benoit Papillault 1c0fc65e6d ath5k/ath9k: Fix 64 bits TSF reads
According to tests, both TSF lower and upper registers kept counting, so
the higher part could have been updated after the lower part has been
read, as shown in the following log where the upper part is read first
and the lower part next.

tsf = {00000003-fffffffd}
tsf = {00000003-00000001}
tsf = {00000004-0000000b}

This patch corrects this by checking that the upper part has not been
changed while the lower part was read. It has been tested in an IBSS
network where artifical IBSS merges have been done in order to trigger
hundreds of rollover for the TSF lower part.

It follows the logic mentionned by Derek, with only 2 register reads
needed at each additional steps instead of 3 (the minimum number of
register reads is still 3).

Signed-off-by: Benoit Papillault <benoit.papillault@free.fr>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-16 15:46:54 -04:00
..
ar9170 ar9170usb: add a couple more USB IDs 2010-04-14 14:59:54 -04:00
ath5k ath5k/ath9k: Fix 64 bits TSF reads 2010-04-16 15:46:54 -04:00
ath9k ath5k/ath9k: Fix 64 bits TSF reads 2010-04-16 15:46:54 -04:00
Kconfig ath9k_htc: Support for AR9271 chipset. 2010-03-23 16:50:17 -04:00
Makefile ath9k: move hw code to its own module 2009-10-07 16:39:41 -04:00
ath.h ath: Add a bus type field 2010-04-06 16:55:09 -04:00
debug.c atheros: add common debug printing 2009-10-07 16:39:29 -04:00
debug.h ath9k_htc: Support for AR9271 chipset. 2010-03-23 16:50:17 -04:00
hw.c Net: wireless: ath: fix macros coding style issue in hw.c 2010-04-06 16:51:04 -04:00
main.c ath: add common ath_rxbuf_alloc() and make ath9k use it 2009-08-14 09:14:05 -04:00
reg.h atheros: define shared bssidmask setting 2009-10-07 16:39:28 -04:00
regd.c ath: fix code readability in regd.c 2010-04-06 16:51:04 -04:00
regd.h ath: Updates for regulatory and country codes. 2009-10-27 16:50:04 -04:00
regd_common.h ath: Updates for regulatory and country codes. 2009-10-27 16:50:04 -04:00