ath9k: Fix 'offchannel' in ath_softc
authorSujith Manoharan <c_manoha@qca.qualcomm.com>
Sat, 23 Aug 2014 07:59:23 +0000 (13:29 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 28 Aug 2014 18:49:38 +0000 (14:49 -0400)
Finally move the 'offchannel' instance in ath_softc
inside a CONFIG_ATH9K_CHANNEL_CONTEXT cage. The offchannel
usage in ath9k_calculate_iter_data() is closed off with
an ifdef for now, since the state/opmode calculation is
common for both the channel context mode and the normal mode.

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

index 8767aa7360ca37c5e6ce28af18a825f5c9d35018..02664b3c7c5259c3b1c3da66dfb7ff4ceda7d290 100644 (file)
@@ -925,6 +925,7 @@ struct ath_softc {
        struct ath_gen_timer *p2p_ps_timer;
        struct ath_vif *p2p_ps_vif;
        struct ath_chanctx_sched sched;
+       struct ath_offchannel offchannel;
 #endif
 
        unsigned long driver_data;
@@ -948,7 +949,6 @@ struct ath_softc {
        struct ath_chanctx *cur_chan;
        struct ath_chanctx *next_chan;
        spinlock_t chan_lock;
-       struct ath_offchannel offchannel;
 
 #ifdef CONFIG_MAC80211_LEDS
        bool led_registered;
index bc7a780a2400727949a5c30e90445f0a22ad346c..da63487279df364dcc2a13f144386ed3d6a6abb7 100644 (file)
@@ -958,6 +958,7 @@ void ath9k_calculate_iter_data(struct ath_softc *sc,
        list_for_each_entry(avp, &ctx->vifs, list)
                ath9k_vif_iter(iter_data, avp->vif->addr, avp->vif);
 
+#ifdef CONFIG_ATH9K_CHANNEL_CONTEXT
        if (ctx == &sc->offchannel.chan) {
                struct ieee80211_vif *vif;
 
@@ -970,6 +971,7 @@ void ath9k_calculate_iter_data(struct ath_softc *sc,
                        ath9k_vif_iter(iter_data, vif->addr, vif);
                iter_data->beacons = false;
        }
+#endif
 }
 
 static void ath9k_set_assoc_state(struct ath_softc *sc,