1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- From: Sujith Manoharan <[email protected]>
- Date: Fri, 17 Oct 2014 07:40:21 +0530
- Subject: [PATCH] ath9k: Add a function to check for an active GO
- Signed-off-by: Sujith Manoharan <[email protected]>
- ---
- --- a/drivers/net/wireless/ath/ath9k/ath9k.h
- +++ b/drivers/net/wireless/ath/ath9k/ath9k.h
- @@ -469,6 +469,7 @@ void ath_chanctx_set_next(struct ath_sof
- void ath_offchannel_next(struct ath_softc *sc);
- void ath_scan_complete(struct ath_softc *sc, bool abort);
- void ath_roc_complete(struct ath_softc *sc, bool abort);
- +struct ath_chanctx* ath_is_go_chanctx_present(struct ath_softc *sc);
-
- #else
-
- --- a/drivers/net/wireless/ath/ath9k/channel.c
- +++ b/drivers/net/wireless/ath/ath9k/channel.c
- @@ -146,6 +146,36 @@ void ath_chanctx_set_channel(struct ath_
-
- #ifdef CPTCFG_ATH9K_CHANNEL_CONTEXT
-
- +/*************/
- +/* Utilities */
- +/*************/
- +
- +struct ath_chanctx* ath_is_go_chanctx_present(struct ath_softc *sc)
- +{
- + struct ath_chanctx *ctx;
- + struct ath_vif *avp;
- + struct ieee80211_vif *vif;
- +
- + spin_lock_bh(&sc->chan_lock);
- +
- + ath_for_each_chanctx(sc, ctx) {
- + if (!ctx->active)
- + continue;
- +
- + list_for_each_entry(avp, &ctx->vifs, list) {
- + vif = avp->vif;
- +
- + if (ieee80211_vif_type_p2p(vif) == NL80211_IFTYPE_P2P_GO) {
- + spin_unlock_bh(&sc->chan_lock);
- + return ctx;
- + }
- + }
- + }
- +
- + spin_unlock_bh(&sc->chan_lock);
- + return NULL;
- +}
- +
- /**********************************************************/
- /* Functions to handle the channel context state machine. */
- /**********************************************************/
|