ath9k: Fix issues in the main btcoex timer
* ath9k_mci_update_rssi() is required only for cards that use MCI scheme. Make sure that it is not called for 3-wire cards. * Call ath9k_ps_wakeup() early since register accesses are made in ath9k_mci_update_rssi(). * Fix usage of btcoex_lock to handle no_stomp_timer. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:
parent
c7266e99b1
commit
6e6dd08dd3
@ -202,18 +202,17 @@ static void ath_btcoex_period_timer(unsigned long data)
|
||||
}
|
||||
spin_unlock_irqrestore(&sc->sc_pm_lock, flags);
|
||||
|
||||
ath9k_mci_update_rssi(sc);
|
||||
|
||||
ath9k_ps_wakeup(sc);
|
||||
spin_lock_bh(&btcoex->btcoex_lock);
|
||||
|
||||
if (ah->caps.hw_caps & ATH9K_HW_CAP_MCI) {
|
||||
ath9k_mci_update_rssi(sc);
|
||||
ath_mci_ftp_adjust(sc);
|
||||
}
|
||||
|
||||
if (!(ah->caps.hw_caps & ATH9K_HW_CAP_MCI))
|
||||
ath_detect_bt_priority(sc);
|
||||
|
||||
if (ah->caps.hw_caps & ATH9K_HW_CAP_MCI)
|
||||
ath_mci_ftp_adjust(sc);
|
||||
|
||||
spin_lock_bh(&btcoex->btcoex_lock);
|
||||
|
||||
stomp_type = btcoex->bt_stomp_type;
|
||||
timer_period = btcoex->btcoex_no_stomp;
|
||||
|
||||
@ -252,9 +251,6 @@ static void ath_btcoex_no_stomp_timer(unsigned long arg)
|
||||
struct ath_softc *sc = (struct ath_softc *)arg;
|
||||
struct ath_hw *ah = sc->sc_ah;
|
||||
struct ath_btcoex *btcoex = &sc->btcoex;
|
||||
struct ath_common *common = ath9k_hw_common(ah);
|
||||
|
||||
ath_dbg(common, BTCOEX, "no stomp timer running\n");
|
||||
|
||||
ath9k_ps_wakeup(sc);
|
||||
spin_lock_bh(&btcoex->btcoex_lock);
|
||||
|
Loading…
Reference in New Issue
Block a user