[PATCH 4/9] wcn36xx: do not use current_vif in delete_bss

Eugene Krasnikov k.eugene.e at gmail.com
Fri Sep 6 04:09:16 EDT 2013


Instead use vif that is passed as parameter.

Signed-off-by: Eugene Krasnikov <k.eugene.e at gmail.com>
---
 main.c | 4 ++--
 smd.c  | 5 +++--
 smd.h  | 2 +-
 3 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/main.c b/main.c
index daf84e9..a203e28 100644
--- a/main.c
+++ b/main.c
@@ -520,7 +520,7 @@ static void wcn36xx_bss_info_changed(struct ieee80211_hw *hw,
 					       bss_conf->bssid, false);
 		} else {
 			wcn->is_joining = false;
-			wcn36xx_smd_delete_bss(wcn);
+			wcn36xx_smd_delete_bss(wcn, vif);
 		}
 	}
 
@@ -623,7 +623,7 @@ static void wcn36xx_bss_info_changed(struct ieee80211_hw *hw,
 		} else {
 			wcn36xx_smd_set_link_st(wcn, vif->addr, vif->addr,
 						WCN36XX_HAL_LINK_IDLE_STATE);
-			wcn36xx_smd_delete_bss(wcn);
+			wcn36xx_smd_delete_bss(wcn, vif);
 		}
 	}
 out:
diff --git a/smd.c b/smd.c
index a84d547..42ee1d8 100644
--- a/smd.c
+++ b/smd.c
@@ -1222,15 +1222,16 @@ out:
 	return ret;
 }
 
-int wcn36xx_smd_delete_bss(struct wcn36xx *wcn)
+int wcn36xx_smd_delete_bss(struct wcn36xx *wcn, struct ieee80211_vif *vif)
 {
 	struct wcn36xx_hal_delete_bss_req_msg msg_body;
+	struct wcn36xx_vif *priv_vif = (struct wcn36xx_vif *)vif->drv_priv;
 	int ret = 0;
 
 	mutex_lock(&wcn->hal_mutex);
 	INIT_HAL_MSG(msg_body, WCN36XX_HAL_DELETE_BSS_REQ);
 
-	msg_body.bss_index = wcn->current_vif->bss_index;
+	msg_body.bss_index = priv_vif->bss_index;
 
 	PREPARE_HAL_BUF(wcn->hal_buf, msg_body);
 
diff --git a/smd.h b/smd.h
index 6e49c8e..a58f4c4 100644
--- a/smd.h
+++ b/smd.h
@@ -73,7 +73,7 @@ int wcn36xx_smd_set_link_st(struct wcn36xx *wcn, const u8 *bssid,
 int wcn36xx_smd_config_bss(struct wcn36xx *wcn, struct ieee80211_vif *vif,
 			   struct ieee80211_sta *sta, const u8 *bssid,
 			   bool update);
-int wcn36xx_smd_delete_bss(struct wcn36xx *wcn);
+int wcn36xx_smd_delete_bss(struct wcn36xx *wcn, struct ieee80211_vif *vif);
 int wcn36xx_smd_config_sta(struct wcn36xx *wcn, struct ieee80211_vif *vif,
 			   struct ieee80211_sta *sta);
 int wcn36xx_smd_send_beacon(struct wcn36xx *wcn, struct sk_buff *skb_beacon,
-- 
1.8.2.2




More information about the wcn36xx mailing list