[PATCH 2/5] wcn36xx: let device generate qos seq numbers

Bob Copeland me at bobcopeland.com
Mon Mar 3 15:45:04 EST 2014


wcn36xx currently sends an incorrect sequence number into the BA session
setup firmware command: it should be saving or updating the ssn in the
TX_START ampdu_action callback instead of waiting until TX_OPERATIONAL.
However, we can sidestep the issue by letting the hardware generate the
sequence numbers for QoS frames, as is done in prima, so do that.

Signed-off-by: Bob Copeland <bob at cozybit.com>
---
 txrx.c |    1 +
 txrx.h |    3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/txrx.c b/txrx.c
index 0fae529..9928f7a 100644
--- a/txrx.c
+++ b/txrx.c
@@ -95,6 +95,7 @@ static void wcn36xx_set_tx_pdu(struct wcn36xx_tx_bd *bd,
 		bd->pdu.mpdu_header_off;
 	bd->pdu.mpdu_len = len;
 	bd->pdu.tid = tid;
+	bd->pdu.bd_ssn = 2;
 }
 
 static inline struct wcn36xx_vif *get_vif_by_addr(struct wcn36xx *wcn,
diff --git a/txrx.h b/txrx.h
index f72025c..540b6d2 100644
--- a/txrx.h
+++ b/txrx.h
@@ -51,7 +51,8 @@ struct wcn36xx_pdu {
 	/* 0x0c*/
 	u32	reserved4:8;
 	u32	tid:4;
-	u32	reserved3:4;
+	u32	bd_ssn:2;
+	u32	reserved3:2;
 	u32	mpdu_len:16;
 };
 
-- 
1.7.10.4




More information about the wcn36xx mailing list