[PATCH 3/9] wcn36xx: do not use current_vif in config_bss_rsp
Eugene Krasnikov
k.eugene.e at gmail.com
Fri Sep 6 04:09:15 EDT 2013
pass vif as a parameter to a hall call.
Signed-off-by: Eugene Krasnikov <k.eugene.e at gmail.com>
---
smd.c | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/smd.c b/smd.c
index 5deadfa..a84d547 100644
--- a/smd.c
+++ b/smd.c
@@ -115,6 +115,7 @@ static void wcn36xx_smd_set_sta_params(struct wcn36xx *wcn,
struct ieee80211_sta *sta,
struct wcn36xx_hal_config_sta_params *sta_params)
{
+ struct wcn36xx_vif *priv_vif = (struct wcn36xx_vif *)vif->drv_priv;
if (vif->type == NL80211_IFTYPE_ADHOC ||
vif->type == NL80211_IFTYPE_AP ||
vif->type == NL80211_IFTYPE_MESH_POINT) {
@@ -149,7 +150,7 @@ static void wcn36xx_smd_set_sta_params(struct wcn36xx *wcn,
sta_params->uapsd = 0;
sta_params->mimo_ps = WCN36XX_HAL_HT_MIMO_PS_STATIC;
sta_params->max_ampdu_duration = 0;
- sta_params->bssid_index = wcn->current_vif->bss_index;
+ sta_params->bssid_index = priv_vif->bss_index;
sta_params->p2p = 0;
memcpy(&sta_params->supported_rates, &wcn->supported_rates,
@@ -1051,11 +1052,13 @@ static int wcn36xx_smd_config_bss_v1(struct wcn36xx *wcn,
static int wcn36xx_smd_config_bss_rsp(struct wcn36xx *wcn,
+ struct ieee80211_vif *vif,
void *buf,
size_t len)
{
struct wcn36xx_hal_config_bss_rsp_msg *rsp;
struct wcn36xx_hal_config_bss_rsp_params *params;
+ struct wcn36xx_vif *priv_vif = (struct wcn36xx_vif *)vif->drv_priv;
if (len < sizeof(*rsp))
return -EINVAL;
@@ -1078,14 +1081,14 @@ static int wcn36xx_smd_config_bss_rsp(struct wcn36xx *wcn,
params->bss_bcast_sta_idx, params->mac,
params->tx_mgmt_power, params->ucast_dpu_signature);
- wcn->current_vif->bss_index = params->bss_index;
+ priv_vif->bss_index = params->bss_index;
if (wcn->sta) {
wcn->sta->bss_sta_index = params->bss_sta_index;
wcn->sta->bss_dpu_desc_index = params->dpu_desc_index;
}
- wcn->current_vif->ucast_dpu_signature = params->ucast_dpu_signature;
+ priv_vif->ucast_dpu_signature = params->ucast_dpu_signature;
return 0;
}
@@ -1206,7 +1209,10 @@ int wcn36xx_smd_config_bss(struct wcn36xx *wcn, struct ieee80211_vif *vif,
wcn36xx_err("Sending hal_config_bss failed\n");
goto out;
}
- ret = wcn36xx_smd_config_bss_rsp(wcn, wcn->hal_buf, wcn->hal_rsp_len);
+ ret = wcn36xx_smd_config_bss_rsp(wcn,
+ vif,
+ wcn->hal_buf,
+ wcn->hal_rsp_len);
if (ret) {
wcn36xx_err("hal_config_bss response failed err=%d\n", ret);
goto out;
--
1.8.2.2
More information about the wcn36xx
mailing list