瀏覽代碼

qcacmn: Added field to get valid sequence number

sequence number populated from tlv are incorrect for some frames.
Firmware populate correct sequence number for management and control
frame either in payload or tlv itself.

added field to get valid sequence number.

Change-Id: I21b1c34c0d66cb46c3a0baaaa231c952de065534
nobelj 4 年之前
父節點
當前提交
5144f963ef
共有 2 個文件被更改,包括 7 次插入1 次删除
  1. 5 1
      dp/inc/cdp_txrx_cmn_struct.h
  2. 2 0
      dp/wifi3.0/dp_htt.c

+ 5 - 1
dp/inc/cdp_txrx_cmn_struct.h

@@ -1645,6 +1645,9 @@ struct cdp_delayed_tx_completion_ppdu_user {
  * @ppdu_type: SU/MU_MIMO/MU_OFDMA/MU_MIMO_OFDMA/UL_TRIG/BURST_BCN/UL_BSR_RESP/
  * @pream_punct: Preamble Punctured PPDU
  * UL_BSR_TRIG/UNKNOWN
+ * @is_seq_num_valid:
+ *       1 - stats tlv has valid sequence number
+ *       0 - payload has valid sequence number
  * @ba_seq_no: Block Ack sequence number
  * @ba_bitmap: Block Ack bitmap
  * @start_seqa: Sequence number of first MPDU
@@ -1695,7 +1698,8 @@ struct cdp_tx_completion_ppdu_user {
 		 tx_ratecode:16,
 		 is_ampdu:1,
 		 ppdu_type:5,
-		 pream_punct:1;
+		 pream_punct:1,
+		 is_seq_num_valid:1;
 	uint32_t success_bytes;
 	uint32_t retry_bytes;
 	uint32_t failed_bytes;

+ 2 - 0
dp/wifi3.0/dp_htt.c

@@ -2521,6 +2521,8 @@ static void dp_process_ppdu_stats_user_common_tlv(
 		HTT_PPDU_STATS_USER_COMMON_TLV_MPDUS_TRIED_GET(*tag_buf);
 	}
 
+	ppdu_user_desc->is_seq_num_valid =
+	HTT_PPDU_STATS_USER_COMMON_TLV_IS_SQNUM_VALID_IN_BUFFER_GET(*tag_buf);
 	tag_buf++;
 
 	ppdu_user_desc->qos_ctrl =