ath9k: Add ath9k_chanctx_stop_queues()
This can be used when the queues of a context needs to be stopped. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
b39031536a
commit
a064eaa10c
|
@ -456,6 +456,7 @@ 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, struct ath_chanctx *ctx);
|
||||
void ath9k_chanctx_stop_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,
|
||||
|
@ -529,6 +530,10 @@ static inline void ath9k_chanctx_wake_queues(struct ath_softc *sc,
|
|||
struct ath_chanctx *ctx)
|
||||
{
|
||||
}
|
||||
static inline void ath9k_chanctx_stop_queues(struct ath_softc *sc,
|
||||
struct ath_chanctx *ctx)
|
||||
{
|
||||
}
|
||||
static inline void ath_chanctx_check_active(struct ath_softc *sc,
|
||||
struct ath_chanctx *ctx)
|
||||
{
|
||||
|
|
|
@ -1177,6 +1177,25 @@ bool ath9k_is_chanctx_enabled(void)
|
|||
/* Queue management */
|
||||
/********************/
|
||||
|
||||
void ath9k_chanctx_stop_queues(struct ath_softc *sc, struct ath_chanctx *ctx)
|
||||
{
|
||||
struct ath_hw *ah = sc->sc_ah;
|
||||
int i;
|
||||
|
||||
if (ctx == &sc->offchannel.chan) {
|
||||
ieee80211_stop_queue(sc->hw,
|
||||
sc->hw->offchannel_tx_hw_queue);
|
||||
} else {
|
||||
for (i = 0; i < IEEE80211_NUM_ACS; i++)
|
||||
ieee80211_stop_queue(sc->hw,
|
||||
ctx->hw_queue_base + i);
|
||||
}
|
||||
|
||||
if (ah->opmode == NL80211_IFTYPE_AP)
|
||||
ieee80211_stop_queue(sc->hw, sc->hw->queues - 2);
|
||||
}
|
||||
|
||||
|
||||
void ath9k_chanctx_wake_queues(struct ath_softc *sc, struct ath_chanctx *ctx)
|
||||
{
|
||||
struct ath_hw *ah = sc->sc_ah;
|
||||
|
|
Loading…
Reference in New Issue