[PATCH 5/6] Set correct dpu_sign in BD

Eugene Krasnikov k.eugene.e at gmail.com
Fri Jun 14 04:49:22 EDT 2013


config_bss will return DPU signature that must be set
in BD when transfering data frames.

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

diff --git a/smd.c b/smd.c
index dea7959..85e0714 100644
--- a/smd.c
+++ b/smd.c
@@ -852,14 +852,16 @@ static int wcn36xx_smd_config_bss_rsp(struct wcn36xx *wcn, void *buf, size_t len
 
 	wcn36xx_dbg(WCN36XX_DBG_HAL,
 		    "hal config bss rsp status %d bss_idx %d dpu_desc_index %d"
-		    " sta_idx %d self_idx %d bcast_idx %d mac %pM power %d",
+		    " sta_idx %d self_idx %d bcast_idx %d mac %pM"
+		    " power %d ucast_dpu_signature %d",
 		    params->status, params->bss_index, params->dpu_desc_index,
 		    params->bss_sta_index, params->bss_self_sta_index,
 		    params->bss_bcast_sta_idx, params->mac,
-		    params->tx_mgmt_power);
+		    params->tx_mgmt_power, params->ucast_dpu_signature);
 
 	wcn->current_vif->sta_index =  params->bss_sta_index;
 	wcn->current_vif->dpu_desc_index = params->dpu_desc_index;
+	wcn->current_vif->ucast_dpu_signature = params->ucast_dpu_signature;
 	return 0;
 }
 
diff --git a/txrx.c b/txrx.c
index 9210ae5..505329b 100644
--- a/txrx.c
+++ b/txrx.c
@@ -115,6 +115,10 @@ void wcn36xx_fill_tx_bd(struct wcn36xx *wcn, struct wcn36xx_tx_bd *bd,
 			wcn36xx_warn("frame control type unknown");
 	}
 
+	if (ieee80211_is_data(hdr->frame_control)) {
+		bd->dpu_sign = wcn->current_vif->ucast_dpu_signature;
+		bd->queue_id = 0;
+	}
 	bd->sta_index = wcn->current_vif->sta_index;
 	bd->dpu_desc_idx = wcn->current_vif->dpu_desc_index;
 
diff --git a/wcn36xx.h b/wcn36xx.h
index 702e9e1..b691c00 100644
--- a/wcn36xx.h
+++ b/wcn36xx.h
@@ -93,6 +93,7 @@ struct nv_data {
 struct wcn36xx_vif {
 	u8 sta_index;
 	u8 dpu_desc_index;
+	u8 ucast_dpu_signature;
 };
 struct wcn_sta {
 	u8 sta_id;
-- 
1.7.11.3




More information about the wcn36xx mailing list