mirror of https://gitee.com/openkylin/linux.git
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);
|
struct sk_buff *skb);
|
||||||
void ath9k_p2p_ps_timer(void *priv);
|
void ath9k_p2p_ps_timer(void *priv);
|
||||||
void ath9k_chanctx_wake_queues(struct ath_softc *sc, struct ath_chanctx *ctx);
|
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_check_active(struct ath_softc *sc, struct ath_chanctx *ctx);
|
||||||
|
|
||||||
void ath_chanctx_beacon_recv_ev(struct ath_softc *sc,
|
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)
|
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,
|
static inline void ath_chanctx_check_active(struct ath_softc *sc,
|
||||||
struct ath_chanctx *ctx)
|
struct ath_chanctx *ctx)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1177,6 +1177,25 @@ bool ath9k_is_chanctx_enabled(void)
|
||||||
/* Queue management */
|
/* 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)
|
void ath9k_chanctx_wake_queues(struct ath_softc *sc, struct ath_chanctx *ctx)
|
||||||
{
|
{
|
||||||
struct ath_hw *ah = sc->sc_ah;
|
struct ath_hw *ah = sc->sc_ah;
|
||||||
|
|
Loading…
Reference in New Issue