OpenCloudOS-Kernel/drivers/net/wireless/ath/ath9k
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 ath9k_htc: Support for AR9271 chipset. 2010-03-23 16:50:17 -04:00
Makefile ath9k_hw: move AR9002 mac ops to its own file 2010-04-16 15:43:45 -04:00
ahb.c ath: Add a bus type field 2010-04-06 16:55:09 -04:00
ani.c ath9k_hw: Split off ANI control to the PHY ops 2010-04-16 15:43:25 -04:00
ani.h ath9k: Nuke struct ath9k_node_stats 2009-08-20 11:36:08 -04:00
ar5008_initvals.h ath9k_hw: split initvals.h by hardware family 2010-04-16 15:43:24 -04:00
ar5008_phy.c ath9k_hw: abstract loading noisefloor 2010-04-16 15:43:34 -04:00
ar9001_initvals.h ath9k_hw: split initvals.h by hardware family 2010-04-16 15:43:24 -04:00
ar9002_calib.c ath9k_hw: fill in the callbacks for calibration for AR9003 2010-04-16 15:43:35 -04:00
ar9002_hw.c ath9k_hw: skip WEP aggregation enable code for AR9003 2010-04-16 15:43:44 -04:00
ar9002_initvals.h ath9k_hw: split initvals.h by hardware family 2010-04-16 15:43:24 -04:00
ar9002_mac.c ath9k_hw: move AR9002 mac ops to its own file 2010-04-16 15:43:45 -04:00
ar9002_phy.c ath9k_hw: Split out the function for reading the noise floor 2010-04-16 15:43:27 -04:00
ar9002_phy.h ath9k_hw: add OFDM spur mitigation for AR9003 2010-04-16 15:43:38 -04:00
ar9003_calib.c ath9k_hw: complete AR9003 calibration 2010-04-16 15:43:35 -04:00
ar9003_eeprom.c ath9k_hw: add TX/RX gain register initialization for AR9003 2010-04-16 15:43:43 -04:00
ar9003_eeprom.h ath9k_hw: add TX/RX gain register initialization for AR9003 2010-04-16 15:43:43 -04:00
ar9003_hw.c ath9k_hw: move AR9002 mac ops to its own file 2010-04-16 15:43:45 -04:00
ar9003_initvals.h ath9k_hw: add initvals for the AR9003 hardware family 2010-04-16 15:43:24 -04:00
ar9003_mac.c ath9k_hw: add LDPC support for AR9003 2010-04-16 15:43:48 -04:00
ar9003_mac.h ath9k_hw: Fill descriptor abstrations for AR9003 2010-04-16 15:43:45 -04:00
ar9003_phy.c ath9k_hw: add OFDM spur mitigation for AR9003 2010-04-16 15:43:38 -04:00
ar9003_phy.h ath9k_hw: add OFDM spur mitigation for AR9003 2010-04-16 15:43:38 -04:00
ath9k.h ath9k: Add Tx EDMA support 2010-04-16 15:43:48 -04:00
beacon.c ath9k_hw: Define abstraction for tx desc access 2010-04-16 15:43:44 -04:00
btcoex.c ath9k: move hw code to its own module 2009-10-07 16:39:41 -04:00
btcoex.h ath9k: Fix wifi disconnection when collocated bt scan is active 2010-01-22 16:11:32 -05:00
calib.c ath9k_hw: abstract loading noisefloor 2010-04-16 15:43:34 -04:00
calib.h ath9k_hw: fill in the callbacks for calibration for AR9003 2010-04-16 15:43:35 -04:00
common.c ath9k: Do not indicate RX_FLAG_DECRYPTED for unprotected frames 2010-03-31 14:46:42 -04:00
common.h ath9k: Make bf_desc of ath_buf opaque 2010-04-16 15:43:26 -04:00
debug.c ath9k: add RXLP and RXHP to debugfs counters 2010-04-16 15:43:46 -04:00
debug.h ath9k: add RXLP and RXHP to debugfs counters 2010-04-16 15:43:46 -04:00
eeprom.c ath9k_hw: Implement AR9003 eeprom callbacks 2010-04-16 15:43:37 -04:00
eeprom.h ath9k_hw: Implement AR9003 eeprom callbacks 2010-04-16 15:43:37 -04:00
eeprom_4k.c ath9k_hw: restore mac address reading logic 2010-04-16 15:43:36 -04:00
eeprom_9287.c ath9k_hw: restore mac address reading logic 2010-04-16 15:43:36 -04:00
eeprom_def.c ath9k_hw: move AR9280 PCI EEPROM fix to eeprom_def.c 2010-04-16 15:43:40 -04:00
gpio.c wireless/ath: remove trailing space in messages 2010-04-08 15:20:44 -04:00
hif_usb.c ath9k-htc: fix lockdep warning and kernel warning after unplugging ar9271 usb device 2010-04-14 14:58:37 -04:00
hif_usb.h ath9k_htc: Use anchors for REGOUT pipe 2010-04-08 15:24:10 -04:00
htc.h ath9k_htc: Configure the beacon timers once the scan is completed. 2010-04-07 14:37:59 -04:00
htc_drv_beacon.c ath9k_htc: Configure the beacon timers once the scan is completed. 2010-04-07 14:37:59 -04:00
htc_drv_init.c ath9k_htc: Add support for power save. 2010-04-07 14:37:58 -04:00
htc_drv_main.c ath9k_htc: Configure the beacon timers once the scan is completed. 2010-04-07 14:37:59 -04:00
htc_drv_txrx.c ath9k_htc: Add support for power save. 2010-04-07 14:37:58 -04:00
htc_hst.c ath9k-htc:respect usb buffer cacheline alignment in reg out path 2010-04-14 14:52:43 -04:00
htc_hst.h ath9k_htc: Support for AR9271 chipset. 2010-03-23 16:50:17 -04:00
hw-ops.h ath9k_hw: Define abstraction for tx desc access 2010-04-16 15:43:44 -04:00
hw.c ath5k/ath9k: Fix 64 bits TSF reads 2010-04-16 15:46:54 -04:00
hw.h ath9k_hw: add LDPC support for AR9003 2010-04-16 15:43:48 -04:00
init.c ath9k: add LDPC support 2010-04-16 15:43:48 -04:00
mac.c ath9k_hw: Abort rx if hw is not coming out of full sleep in reset 2010-04-16 15:43:49 -04:00
mac.h ath9k_hw: Abort rx if hw is not coming out of full sleep in reset 2010-04-16 15:43:49 -04:00
main.c ath9k: Add Tx EDMA support 2010-04-16 15:43:48 -04:00
pci.c ath9k_hw: add the PCI ID for the first AR9300 device 2010-04-16 15:43:49 -04:00
phy.h ath9k_hw: add OFDM spur mitigation for AR9003 2010-04-16 15:43:38 -04:00
rc.c ath9k: add LDPC support 2010-04-16 15:43:48 -04:00
rc.h ath9k: rename symbols in enum ath9k_internal_frame_type to avoid confusion 2010-04-06 16:55:08 -04:00
recv.c ath9k: Setup appropriate tx desc for regular dma and edma 2010-04-16 15:43:47 -04:00
reg.h ath9k_hw: enable CRC check of descriptors for AR9003 2010-04-16 15:43:46 -04:00
virtual.c ath9k: rename symbols in enum ath9k_internal_frame_type to avoid confusion 2010-04-06 16:55:08 -04:00
wmi.c ath9k-htc:respect usb buffer cacheline alignment in reg out path 2010-04-14 14:52:43 -04:00
wmi.h ath9k_htc: Support for AR9271 chipset. 2010-03-23 16:50:17 -04:00
xmit.c ath9k: Enable TXOK and TXERR interrupts for TX EDMA 2010-04-16 15:43:48 -04:00