mirror of https://gitee.com/openkylin/linux.git
ath9k: Setup MCI interrupts properly
MCI interrupts have to be enabled only when BTCOEX is actually in use. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
d09f5f4cfb
commit
e270e776a0
|
@ -1045,8 +1045,7 @@ static int ath9k_start(struct ieee80211_hw *hw)
|
|||
if (ah->caps.hw_caps & ATH9K_HW_CAP_HT)
|
||||
ah->imask |= ATH9K_INT_CST;
|
||||
|
||||
if (ah->caps.hw_caps & ATH9K_HW_CAP_MCI)
|
||||
ah->imask |= ATH9K_INT_MCI;
|
||||
ath_mci_enable(sc);
|
||||
|
||||
sc->sc_flags &= ~SC_OP_INVALID;
|
||||
sc->sc_ah->is_monitoring = false;
|
||||
|
|
|
@ -538,3 +538,14 @@ void ath_mci_intr(struct ath_softc *sc)
|
|||
mci_int &= ~(AR_MCI_INTERRUPT_RX_INVALID_HDR |
|
||||
AR_MCI_INTERRUPT_CONT_INFO_TIMEOUT);
|
||||
}
|
||||
|
||||
void ath_mci_enable(struct ath_softc *sc)
|
||||
{
|
||||
struct ath_common *common = ath9k_hw_common(sc->sc_ah);
|
||||
|
||||
if (!common->btcoex_enabled)
|
||||
return;
|
||||
|
||||
if (sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_MCI)
|
||||
sc->sc_ah->imask |= ATH9K_INT_MCI;
|
||||
}
|
||||
|
|
|
@ -130,4 +130,13 @@ void ath_mci_flush_profile(struct ath_mci_profile *mci);
|
|||
int ath_mci_setup(struct ath_softc *sc);
|
||||
void ath_mci_cleanup(struct ath_softc *sc);
|
||||
void ath_mci_intr(struct ath_softc *sc);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_ATH9K_BTCOEX_SUPPORT
|
||||
void ath_mci_enable(struct ath_softc *sc);
|
||||
#else
|
||||
static inline void ath_mci_enable(struct ath_softc *sc)
|
||||
{
|
||||
}
|
||||
#endif /* CONFIG_ATH9K_BTCOEX_SUPPORT */
|
||||
|
||||
#endif /* MCI_H*/
|
||||
|
|
Loading…
Reference in New Issue