aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k/hw.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/hw.c')
-rw-r--r--drivers/net/wireless/ath/ath9k/hw.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index ba5734aa46c4..1d71d1ba202c 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -1350,6 +1350,7 @@ static bool ath9k_hw_set_reset_power_on(struct ath_hw *ah)
1350 1350
1351static bool ath9k_hw_set_reset_reg(struct ath_hw *ah, u32 type) 1351static bool ath9k_hw_set_reset_reg(struct ath_hw *ah, u32 type)
1352{ 1352{
1353 bool ret = false;
1353 1354
1354 if (AR_SREV_9300_20_OR_LATER(ah)) { 1355 if (AR_SREV_9300_20_OR_LATER(ah)) {
1355 REG_WRITE(ah, AR_WA, ah->WARegVal); 1356 REG_WRITE(ah, AR_WA, ah->WARegVal);
@@ -1361,13 +1362,20 @@ static bool ath9k_hw_set_reset_reg(struct ath_hw *ah, u32 type)
1361 1362
1362 switch (type) { 1363 switch (type) {
1363 case ATH9K_RESET_POWER_ON: 1364 case ATH9K_RESET_POWER_ON:
1364 return ath9k_hw_set_reset_power_on(ah); 1365 ret = ath9k_hw_set_reset_power_on(ah);
1366 break;
1365 case ATH9K_RESET_WARM: 1367 case ATH9K_RESET_WARM:
1366 case ATH9K_RESET_COLD: 1368 case ATH9K_RESET_COLD:
1367 return ath9k_hw_set_reset(ah, type); 1369 ret = ath9k_hw_set_reset(ah, type);
1370 break;
1368 default: 1371 default:
1369 return false; 1372 break;
1370 } 1373 }
1374
1375 if (ah->caps.hw_caps & ATH9K_HW_CAP_MCI)
1376 REG_WRITE(ah, AR_RTC_KEEP_AWAKE, 0x2);
1377
1378 return ret;
1371} 1379}
1372 1380
1373static bool ath9k_hw_chip_reset(struct ath_hw *ah, 1381static bool ath9k_hw_chip_reset(struct ath_hw *ah,