ath9k: fix TSF after reset on AR913x
authorFelix Fietkau <nbd@openwrt.org>
Wed, 30 Jun 2010 00:07:48 +0000 (02:07 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 30 Jun 2010 19:00:53 +0000 (15:00 -0400)
commitf860d526eb2939a1c37128900b5af2b6f3ff7f20
treefc9cc9a7cfb66c44a0c0970eb2c04b66a593735f
parent4e9e58c6bf6512a1812556188b67bada6a09c0e8
ath9k: fix TSF after reset on AR913x

When issuing a reset, the TSF value is lost in the hardware because of
the 913x specific cold reset. As with some AR9280 cards, the TSF needs
to be preserved in software here.

Additionally, there's an issue that frequently prevents a successful
TSF write directly after the chip reset. In this case, repeating the
TSF write after the initval-writes usually works.

This patch detects failed TSF writes and recovers from them, taking
into account the delay caused by the initval writes.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Reported-by: Björn Smedman <bjorn.smedman@venatech.se>
Cc: stable@kernel.org
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/hw.c