linux/drivers/net/wireless/ath/ath5k
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
..
Kconfig wireless: remove WLAN_80211 and WLAN_PRE80211 from Kconfig 2009-10-30 16:50:35 -04:00
Makefile ath5k: Adaptive Noise Immunity (ANI) Implementation 2010-04-07 14:37:53 -04:00
ani.c ath5k: Adaptive Noise Immunity (ANI) Implementation 2010-04-07 14:37:53 -04:00
ani.h ath5k: Adaptive Noise Immunity (ANI) Implementation 2010-04-07 14:37:53 -04:00
ath5k.h ath5k: Adaptive Noise Immunity (ANI) Implementation 2010-04-07 14:37:53 -04:00
attach.c ath5k: Adaptive Noise Immunity (ANI) Implementation 2010-04-07 14:37:53 -04:00
base.c ath5k: treat RXORN as non-fatal 2010-04-14 14:52:42 -04:00
base.h ath5k: treat RXORN as non-fatal 2010-04-14 14:52:42 -04:00
caps.c ath5k: add capability flag for phyerror counters 2010-03-31 14:39:10 -04:00
debug.c ath5k: Adaptive Noise Immunity (ANI) Implementation 2010-04-07 14:37:53 -04:00
debug.h ath5k: Adaptive Noise Immunity (ANI) Implementation 2010-04-07 14:37:53 -04:00
desc.c ath5k: Adaptive Noise Immunity (ANI) Implementation 2010-04-07 14:37:53 -04:00
desc.h ath5k: update phy errors codes 2010-03-31 14:39:10 -04:00
dma.c
eeprom.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into merge 2010-04-08 13:34:54 -04:00
eeprom.h ath5k: Minor EEPROM documentation updates 2010-03-10 17:44:42 -05:00
gpio.c
initvals.c atheros: define shared bssidmask setting 2009-10-07 16:39:28 -04:00
led.c ath5k: adding LED support for AR5BXB63 cards 2010-01-27 15:01:24 -05:00
pcu.c ath5k/ath9k: Fix 64 bits TSF reads 2010-04-16 15:46:54 -04:00
phy.c ath5k: fixup some merge damage for AR5211 IQ calibration 2010-04-08 16:40:04 -04:00
qcu.c ath5k: remove some dead functions 2010-03-15 15:31:43 -04:00
reg.h ath5k: Use high bitrates for ACK/CTS 2010-04-14 14:52:41 -04:00
reset.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into merge 2010-04-08 13:34:54 -04:00
rfbuffer.h
rfgain.h
rfkill.c ath5k: minor rfkill cleanup 2009-06-10 13:28:39 -04:00