[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