diff options
author | Sujith Manoharan <c_manoha@qca.qualcomm.com> | 2014-10-02 06:33:17 +0530 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2014-10-02 14:26:32 -0400 |
commit | b39031536aab9cb1324328cf46fa4ef940bd975f (patch) | |
tree | 18a46b164ab0482772f3fe65d34017281fb12184 | |
parent | 4f82eecf73019c27537f65c160e90385e159afd8 (diff) | |
download | talos-op-linux-b39031536aab9cb1324328cf46fa4ef940bd975f.tar.gz talos-op-linux-b39031536aab9cb1324328cf46fa4ef940bd975f.zip |
ath9k: Pass context to ath9k_chanctx_wake_queues()
Change the ath9k_chanctx_wake_queues() API so
that we can pass the channel context that needs its
queues to be stopped.
Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | drivers/net/wireless/ath/ath9k/ath9k.h | 5 | ||||
-rw-r--r-- | drivers/net/wireless/ath/ath9k/channel.c | 6 | ||||
-rw-r--r-- | drivers/net/wireless/ath/ath9k/main.c | 2 |
3 files changed, 7 insertions, 6 deletions
diff --git a/drivers/net/wireless/ath/ath9k/ath9k.h b/drivers/net/wireless/ath/ath9k/ath9k.h index 37a5ccf64dff..4f94d3190867 100644 --- a/drivers/net/wireless/ath/ath9k/ath9k.h +++ b/drivers/net/wireless/ath/ath9k/ath9k.h @@ -455,7 +455,7 @@ void ath9k_p2p_bss_info_changed(struct ath_softc *sc, void ath9k_beacon_add_noa(struct ath_softc *sc, struct ath_vif *avp, struct sk_buff *skb); void ath9k_p2p_ps_timer(void *priv); -void ath9k_chanctx_wake_queues(struct ath_softc *sc); +void ath9k_chanctx_wake_queues(struct ath_softc *sc, struct ath_chanctx *ctx); void ath_chanctx_check_active(struct ath_softc *sc, struct ath_chanctx *ctx); void ath_chanctx_beacon_recv_ev(struct ath_softc *sc, @@ -525,7 +525,8 @@ static inline void ath9k_beacon_add_noa(struct ath_softc *sc, struct ath_vif *av static inline void ath9k_p2p_ps_timer(struct ath_softc *sc) { } -static inline void ath9k_chanctx_wake_queues(struct ath_softc *sc) +static inline void ath9k_chanctx_wake_queues(struct ath_softc *sc, + struct ath_chanctx *ctx) { } static inline void ath_chanctx_check_active(struct ath_softc *sc, diff --git a/drivers/net/wireless/ath/ath9k/channel.c b/drivers/net/wireless/ath/ath9k/channel.c index d088f06df2e0..96da03e5f534 100644 --- a/drivers/net/wireless/ath/ath9k/channel.c +++ b/drivers/net/wireless/ath/ath9k/channel.c @@ -1177,18 +1177,18 @@ bool ath9k_is_chanctx_enabled(void) /* Queue management */ /********************/ -void ath9k_chanctx_wake_queues(struct ath_softc *sc) +void ath9k_chanctx_wake_queues(struct ath_softc *sc, struct ath_chanctx *ctx) { struct ath_hw *ah = sc->sc_ah; int i; - if (sc->cur_chan == &sc->offchannel.chan) { + if (ctx == &sc->offchannel.chan) { ieee80211_wake_queue(sc->hw, sc->hw->offchannel_tx_hw_queue); } else { for (i = 0; i < IEEE80211_NUM_ACS; i++) ieee80211_wake_queue(sc->hw, - sc->cur_chan->hw_queue_base + i); + ctx->hw_queue_base + i); } if (ah->opmode == NL80211_IFTYPE_AP) diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c index b4c2642c764c..19bbc91325c2 100644 --- a/drivers/net/wireless/ath/ath9k/main.c +++ b/drivers/net/wireless/ath/ath9k/main.c @@ -268,7 +268,7 @@ static bool ath_complete_reset(struct ath_softc *sc, bool start) if (!ath9k_is_chanctx_enabled()) ieee80211_wake_queues(sc->hw); else - ath9k_chanctx_wake_queues(sc); + ath9k_chanctx_wake_queues(sc, sc->cur_chan); ath9k_p2p_ps_timer(sc); |