ath9k: Enable interrupts at the proper place
config_interface() was the wrong place to enable interrupts when bringing up an interface, move it to ath_open(). Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
@@ -675,13 +675,12 @@ int ath_open(struct ath_softc *sc, struct ath9k_channel *initial_chan)
|
|||||||
|
|
||||||
ath_setcurmode(sc, ath_chan2mode(initial_chan));
|
ath_setcurmode(sc, ath_chan2mode(initial_chan));
|
||||||
|
|
||||||
/*
|
|
||||||
* Don't enable interrupts here as we've not yet built our
|
|
||||||
* vap and node data structures, which will be needed as soon
|
|
||||||
* as we start receiving.
|
|
||||||
*/
|
|
||||||
sc->sc_flags &= ~SC_OP_INVALID;
|
sc->sc_flags &= ~SC_OP_INVALID;
|
||||||
|
|
||||||
|
/* Disable BMISS interrupt when we're not associated */
|
||||||
|
sc->sc_imask &= ~(ATH9K_INT_SWBA | ATH9K_INT_BMISS);
|
||||||
|
ath9k_hw_set_interrupts(sc->sc_ah,sc->sc_imask);
|
||||||
|
|
||||||
ieee80211_wake_queues(sc->hw);
|
ieee80211_wake_queues(sc->hw);
|
||||||
done:
|
done:
|
||||||
return error;
|
return error;
|
||||||
|
@@ -1237,12 +1237,6 @@ static int ath9k_config_interface(struct ieee80211_hw *hw,
|
|||||||
/* Set aggregation protection mode parameters */
|
/* Set aggregation protection mode parameters */
|
||||||
sc->sc_config.ath_aggr_prot = 0;
|
sc->sc_config.ath_aggr_prot = 0;
|
||||||
|
|
||||||
/* Disable BMISS interrupt when we're not associated */
|
|
||||||
ath9k_hw_set_interrupts(sc->sc_ah,
|
|
||||||
sc->sc_imask &
|
|
||||||
~(ATH9K_INT_SWBA | ATH9K_INT_BMISS));
|
|
||||||
sc->sc_imask &= ~(ATH9K_INT_SWBA | ATH9K_INT_BMISS);
|
|
||||||
|
|
||||||
DPRINTF(sc, ATH_DBG_CONFIG,
|
DPRINTF(sc, ATH_DBG_CONFIG,
|
||||||
"%s: RX filter 0x%x bssid %pM aid 0x%x\n",
|
"%s: RX filter 0x%x bssid %pM aid 0x%x\n",
|
||||||
__func__, rfilt,
|
__func__, rfilt,
|
||||||
|
Reference in New Issue
Block a user