aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k/gpio.c
diff options
context:
space:
mode:
authorVivek Natarajan <vnatarajan@atheros.com>2011-04-26 01:09:55 -0400
committerJohn W. Linville <linville@tuxdriver.com>2011-04-28 14:50:02 -0400
commita039a993496d79d09ae9709c82b545b9800954c9 (patch)
tree801a0fefc46c5c7ac07b4c2789ab2104f48db4ef /drivers/net/wireless/ath/ath9k/gpio.c
parentf78eb657f067ce87e19da94138d22cde8236c7db (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.c4
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
233int ath_init_btcoex_timer(struct ath_softc *sc) 237int ath_init_btcoex_timer(struct ath_softc *sc)