summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k/hw.c
diff options
context:
space:
mode:
authorSujith Manoharan <c_manoha@qca.qualcomm.com>2013-12-18 09:53:26 +0530
committerJohn W. Linville <linville@tuxdriver.com>2013-12-18 15:23:49 -0500
commit4dc78c437a0a2ac152a2b2c5e91a814a6ef3599e (patch)
tree6683d23d920d78ae6a5b978101349c1d86afdb9b /drivers/net/wireless/ath/ath9k/hw.c
parentafe36533c108f55c5245397a1cc82af312a32614 (diff)
downloadop-kernel-dev-4dc78c437a0a2ac152a2b2c5e91a814a6ef3599e.zip
op-kernel-dev-4dc78c437a0a2ac152a2b2c5e91a814a6ef3599e.tar.gz
ath9k: Fix RTC reset delay
The delay that is required after issuing a RTC reset varies for each chip. Handle this properly. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/hw.c')
-rw-r--r--drivers/net/wireless/ath/ath9k/hw.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index 2800914..3ca682f 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -1363,7 +1363,12 @@ static bool ath9k_hw_set_reset(struct ath_hw *ah, int type)
REGWRITE_BUFFER_FLUSH(ah);
- udelay(50);
+ if (AR_SREV_9300_20_OR_LATER(ah))
+ udelay(50);
+ else if (AR_SREV_9100(ah))
+ udelay(10000);
+ else
+ udelay(100);
REG_WRITE(ah, AR_RTC_RC, 0);
if (!ath9k_hw_wait(ah, AR_RTC_RC, AR_RTC_RC_M, 0, AH_WAIT_TIMEOUT)) {
OpenPOWER on IntegriCloud