diff options
author | Vivek Natarajan <vnatarajan@atheros.com> | 2011-04-26 01:09:55 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-04-28 14:50:02 -0400 |
commit | a039a993496d79d09ae9709c82b545b9800954c9 (patch) | |
tree | 801a0fefc46c5c7ac07b4c2789ab2104f48db4ef /drivers/net/wireless/ath/ath9k/gpio.c | |
parent | f78eb657f067ce87e19da94138d22cde8236c7db (diff) |
ath9k: Use ps wrappers for btcoex logic.
Use ps wrappers before accessing hw registers in btcoex.
Signed-off-by: Vivek Natarajan <vnatarajan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/gpio.c')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/gpio.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/gpio.c b/drivers/net/wireless/ath/ath9k/gpio.c index 3a4ddd19e60..0349b3a1cc5 100644 --- a/drivers/net/wireless/ath/ath9k/gpio.c +++ b/drivers/net/wireless/ath/ath9k/gpio.c | |||
@@ -179,6 +179,7 @@ static void ath_btcoex_period_timer(unsigned long data) | |||
179 | u32 timer_period; | 179 | u32 timer_period; |
180 | bool is_btscan; | 180 | bool is_btscan; |
181 | 181 | ||
182 | ath9k_ps_wakeup(sc); | ||
182 | ath_detect_bt_priority(sc); | 183 | ath_detect_bt_priority(sc); |
183 | 184 | ||
184 | is_btscan = sc->sc_flags & SC_OP_BT_SCAN; | 185 | is_btscan = sc->sc_flags & SC_OP_BT_SCAN; |
@@ -201,6 +202,7 @@ static void ath_btcoex_period_timer(unsigned long data) | |||
201 | btcoex->hw_timer_enabled = true; | 202 | btcoex->hw_timer_enabled = true; |
202 | } | 203 | } |
203 | 204 | ||
205 | ath9k_ps_restore(sc); | ||
204 | mod_timer(&btcoex->period_timer, jiffies + | 206 | mod_timer(&btcoex->period_timer, jiffies + |
205 | msecs_to_jiffies(ATH_BTCOEX_DEF_BT_PERIOD)); | 207 | msecs_to_jiffies(ATH_BTCOEX_DEF_BT_PERIOD)); |
206 | } | 208 | } |
@@ -220,6 +222,7 @@ static void ath_btcoex_no_stomp_timer(void *arg) | |||
220 | ath_dbg(common, ATH_DBG_BTCOEX, | 222 | ath_dbg(common, ATH_DBG_BTCOEX, |
221 | "no stomp timer running\n"); | 223 | "no stomp timer running\n"); |
222 | 224 | ||
225 | ath9k_ps_wakeup(sc); | ||
223 | spin_lock_bh(&btcoex->btcoex_lock); | 226 | spin_lock_bh(&btcoex->btcoex_lock); |
224 | 227 | ||
225 | if (btcoex->bt_stomp_type == ATH_BTCOEX_STOMP_LOW || is_btscan) | 228 | if (btcoex->bt_stomp_type == ATH_BTCOEX_STOMP_LOW || is_btscan) |
@@ -228,6 +231,7 @@ static void ath_btcoex_no_stomp_timer(void *arg) | |||
228 | ath9k_hw_btcoex_bt_stomp(ah, ATH_BTCOEX_STOMP_LOW); | 231 | ath9k_hw_btcoex_bt_stomp(ah, ATH_BTCOEX_STOMP_LOW); |
229 | 232 | ||
230 | spin_unlock_bh(&btcoex->btcoex_lock); | 233 | spin_unlock_bh(&btcoex->btcoex_lock); |
234 | ath9k_ps_restore(sc); | ||
231 | } | 235 | } |
232 | 236 | ||
233 | int ath_init_btcoex_timer(struct ath_softc *sc) | 237 | int ath_init_btcoex_timer(struct ath_softc *sc) |