aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/316-ath9k-Add-a-function-to-check-for-an-active-GO.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/mac80211/patches/316-ath9k-Add-a-function-to-check-for-an-active-GO.patch')
-rw-r--r--package/kernel/mac80211/patches/316-ath9k-Add-a-function-to-check-for-an-active-GO.patch56
1 files changed, 56 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/316-ath9k-Add-a-function-to-check-for-an-active-GO.patch b/package/kernel/mac80211/patches/316-ath9k-Add-a-function-to-check-for-an-active-GO.patch
new file mode 100644
index 0000000000..80b919ee24
--- /dev/null
+++ b/package/kernel/mac80211/patches/316-ath9k-Add-a-function-to-check-for-an-active-GO.patch
@@ -0,0 +1,56 @@
+From: Sujith Manoharan <c_manoha@qca.qualcomm.com>
+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 <c_manoha@qca.qualcomm.com>
+---
+
+--- 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. */
+ /**********************************************************/