ath9k: Enable interrupts at the proper place
authorSujith <Sujith.Manoharan@atheros.com>
Wed, 29 Oct 2008 04:47:54 +0000 (10:17 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 10 Nov 2008 20:16:06 +0000 (15:16 -0500)
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>
drivers/net/wireless/ath9k/core.c
drivers/net/wireless/ath9k/main.c

index 1826818..d138446 100644 (file)
@@ -675,13 +675,12 @@ int ath_open(struct ath_softc *sc, struct ath9k_channel *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;
 
+       /* 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);
 done:
        return error;
index 01a5be9..85a23c6 100644 (file)
@@ -1237,12 +1237,6 @@ static int ath9k_config_interface(struct ieee80211_hw *hw,
                        /* Set aggregation protection mode parameters */
                        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,
                                "%s: RX filter 0x%x bssid %pM aid 0x%x\n",
                                __func__, rfilt,