Browse Source

wcn36xx: Track association state

Knowing the association state is needed for mc filtering.

Signed-off-by: Pontus Fuchs <pontus.fuchs@gmail.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Pontus Fuchs 9 years ago
parent
commit
043ce54619

+ 2 - 0
drivers/net/wireless/ath/wcn36xx/main.c

@@ -655,6 +655,7 @@ static void wcn36xx_bss_info_changed(struct ieee80211_hw *hw,
 				     vif->addr,
 				     vif->addr,
 				     bss_conf->aid);
 				     bss_conf->aid);
 
 
+			vif_priv->sta_assoc = true;
 			rcu_read_lock();
 			rcu_read_lock();
 			sta = ieee80211_find_sta(vif, bss_conf->bssid);
 			sta = ieee80211_find_sta(vif, bss_conf->bssid);
 			if (!sta) {
 			if (!sta) {
@@ -686,6 +687,7 @@ static void wcn36xx_bss_info_changed(struct ieee80211_hw *hw,
 				    bss_conf->bssid,
 				    bss_conf->bssid,
 				    vif->addr,
 				    vif->addr,
 				    bss_conf->aid);
 				    bss_conf->aid);
+			vif_priv->sta_assoc = false;
 			wcn36xx_smd_set_link_st(wcn,
 			wcn36xx_smd_set_link_st(wcn,
 						bss_conf->bssid,
 						bss_conf->bssid,
 						vif->addr,
 						vif->addr,

+ 1 - 0
drivers/net/wireless/ath/wcn36xx/wcn36xx.h

@@ -128,6 +128,7 @@ struct wcn36xx_vif {
 	u8 dtim_period;
 	u8 dtim_period;
 	enum ani_ed_type encrypt_type;
 	enum ani_ed_type encrypt_type;
 	bool is_joining;
 	bool is_joining;
+	bool sta_assoc;
 	struct wcn36xx_hal_mac_ssid ssid;
 	struct wcn36xx_hal_mac_ssid ssid;
 
 
 	/* Power management */
 	/* Power management */