OSDN Git Service

ath9k: Remove SC_OP_OFFCHANNEL
authorSujith Manoharan <c_manoha@qca.qualcomm.com>
Mon, 4 Jun 2012 10:57:52 +0000 (16:27 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 6 Jun 2012 19:20:26 +0000 (15:20 -0400)
mac80211's IEEE80211_CONF_OFFCHANNEL can be used directly
to track offchannel state. Also pass the correct boolean
value to ath9k_hw_startpcureceive().

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/ath9k.h
drivers/net/wireless/ath/ath9k/main.c
drivers/net/wireless/ath/ath9k/recv.c

index a277cf6..e204648 100644 (file)
@@ -586,13 +586,12 @@ struct ath_ant_comb {
 
 #define SC_OP_INVALID                BIT(0)
 #define SC_OP_BEACONS                BIT(1)
-#define SC_OP_OFFCHANNEL             BIT(2)
-#define SC_OP_RXFLUSH                BIT(3)
-#define SC_OP_TSF_RESET              BIT(4)
-#define SC_OP_BT_PRIORITY_DETECTED   BIT(5)
-#define SC_OP_BT_SCAN                BIT(6)
-#define SC_OP_ANI_RUN                BIT(7)
-#define SC_OP_PRIM_STA_VIF           BIT(8)
+#define SC_OP_RXFLUSH                BIT(2)
+#define SC_OP_TSF_RESET              BIT(3)
+#define SC_OP_BT_PRIORITY_DETECTED   BIT(4)
+#define SC_OP_BT_SCAN                BIT(5)
+#define SC_OP_ANI_RUN                BIT(6)
+#define SC_OP_PRIM_STA_VIF           BIT(7)
 
 /* Powersave flags */
 #define PS_WAIT_FOR_BEACON        BIT(0)
index 3809fc8..d739c8e 100644 (file)
@@ -152,7 +152,7 @@ void ath_start_ani(struct ath_common *common)
        if (!(sc->sc_flags & SC_OP_ANI_RUN))
                return;
 
-       if (sc->sc_flags & SC_OP_OFFCHANNEL)
+       if (sc->hw->conf.flags & IEEE80211_CONF_OFFCHANNEL)
                return;
 
        common->ani.longcal_timer = timestamp;
@@ -282,7 +282,7 @@ static bool ath_complete_reset(struct ath_softc *sc, bool start)
        ath9k_hw_set_interrupts(ah);
        ath9k_hw_enable_interrupts(ah);
 
-       if (!(sc->sc_flags & (SC_OP_OFFCHANNEL)) && start) {
+       if (!(sc->hw->conf.flags & IEEE80211_CONF_OFFCHANNEL) && start) {
                if (sc->sc_flags & SC_OP_BEACONS)
                        ath_set_beacon(sc);
 
@@ -328,7 +328,7 @@ static int ath_reset_internal(struct ath_softc *sc, struct ath9k_channel *hchan,
 
        spin_lock_bh(&sc->sc_pcu_lock);
 
-       if (!(sc->sc_flags & SC_OP_OFFCHANNEL)) {
+       if (!(sc->hw->conf.flags & IEEE80211_CONF_OFFCHANNEL)) {
                fastcc = false;
                caldata = &sc->caldata;
        }
@@ -1626,11 +1626,6 @@ static int ath9k_config(struct ieee80211_hw *hw, u32 changed)
                if (ah->curchan)
                        old_pos = ah->curchan - &ah->channels[0];
 
-               if (hw->conf.flags & IEEE80211_CONF_OFFCHANNEL)
-                       sc->sc_flags |= SC_OP_OFFCHANNEL;
-               else
-                       sc->sc_flags &= ~SC_OP_OFFCHANNEL;
-
                ath_dbg(common, CONFIG, "Set channel: %d MHz type: %d\n",
                        curchan->center_freq, conf->channel_type);
 
index e1fcc68..18acdbc 100644 (file)
@@ -303,7 +303,7 @@ static void ath_edma_start_recv(struct ath_softc *sc)
 
        ath_opmode_init(sc);
 
-       ath9k_hw_startpcureceive(sc->sc_ah, (sc->sc_flags & SC_OP_OFFCHANNEL));
+       ath9k_hw_startpcureceive(sc->sc_ah, !!(sc->hw->conf.flags & IEEE80211_CONF_OFFCHANNEL));
 
        spin_unlock_bh(&sc->rx.rxbuflock);
 }
@@ -500,7 +500,7 @@ int ath_startrecv(struct ath_softc *sc)
 
 start_recv:
        ath_opmode_init(sc);
-       ath9k_hw_startpcureceive(ah, (sc->sc_flags & SC_OP_OFFCHANNEL));
+       ath9k_hw_startpcureceive(ah, !!(sc->hw->conf.flags & IEEE80211_CONF_OFFCHANNEL));
 
        spin_unlock_bh(&sc->rx.rxbuflock);