aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k/hw.c
diff options
context:
space:
mode:
authorSujith Manoharan <c_manoha@qualcomm.com>2012-09-11 01:16:24 -0400
committerJohn W. Linville <linville@tuxdriver.com>2012-09-11 15:31:59 -0400
commitb7f597668657c9c9579dbdff9692aea3e8e9bf5a (patch)
tree90890d35424851250b99b5b8a34544062ed9ef34 /drivers/net/wireless/ath/ath9k/hw.c
parent4ac8764ab2290fd83c21b4183ca6a0f279dab277 (diff)
ath9k_hw: Handle gentimer termination 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.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index 47de1a92bfe4..99cab44d2312 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -3084,6 +3084,16 @@ void ath9k_hw_gen_timer_stop(struct ath_hw *ah, struct ath_gen_timer *timer)
3084 REG_CLR_BIT(ah, gen_tmr_configuration[timer->index].mode_addr, 3084 REG_CLR_BIT(ah, gen_tmr_configuration[timer->index].mode_addr,
3085 gen_tmr_configuration[timer->index].mode_mask); 3085 gen_tmr_configuration[timer->index].mode_mask);
3086 3086
3087 if (AR_SREV_9462(ah) || AR_SREV_9565(ah)) {
3088 /*
3089 * Need to switch back to TSF if it was using TSF2.
3090 */
3091 if ((timer->index >= AR_GEN_TIMER_BANK_1_LEN)) {
3092 REG_CLR_BIT(ah, AR_MAC_PCU_GEN_TIMER_TSF_SEL,
3093 (1 << timer->index));
3094 }
3095 }
3096
3087 /* Disable both trigger and thresh interrupt masks */ 3097 /* Disable both trigger and thresh interrupt masks */
3088 REG_CLR_BIT(ah, AR_IMR_S5, 3098 REG_CLR_BIT(ah, AR_IMR_S5,
3089 (SM(AR_GENTMR_BIT(timer->index), AR_IMR_S5_GENTIMER_THRESH) | 3099 (SM(AR_GENTMR_BIT(timer->index), AR_IMR_S5_GENTIMER_THRESH) |