mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-31 05:54:26 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			57 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| 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. */
 | |
|  /**********************************************************/
 |