瀏覽代碼

qca-wifi: Fix NULL data Tx frame capture

Handle ppdu descriptor for NULL data frame as payload comes in
mgmt ctrl payload tlv.

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

+ 6 - 4
dp/wifi3.0/dp_tx_capture.c

@@ -304,7 +304,7 @@ dp_update_msdu_to_list(struct dp_soc *soc,
 		return QDF_STATUS_E_FAILURE;
 	}
 
-	if (ts->tid > DP_NON_QOS_TID) {
+	if (ts->tid > DP_MAX_TIDS) {
 		QDF_TRACE(QDF_MODULE_ID_TX_CAPTURE, QDF_TRACE_LEVEL_ERROR,
 			  "%s: %d peer_id %d, tid %d > NON_QOS_TID!",
 			  __func__, __LINE__, ts->peer_id, ts->tid);
@@ -681,7 +681,7 @@ QDF_STATUS dp_tx_print_bitmap(struct dp_pdev *pdev,
 	start_seq = user->start_seq;
 	num_mpdu = user->mpdu_success;
 
-	if (user->tid > DP_NON_QOS_TID) {
+	if (user->tid > DP_MAX_TIDS) {
 		QDF_TRACE(QDF_MODULE_ID_TX_CAPTURE, QDF_TRACE_LEVEL_ERROR,
 			  "%s: ppdu[%d] peer_id[%d] TID[%d] > NON_QOS_TID!",
 			  __func__, ppdu_id, user->peer_id, user->tid);
@@ -1618,7 +1618,9 @@ dp_check_ppdu_and_deliver(struct dp_pdev *pdev,
 
 		ppdu_id = ppdu_desc->ppdu_id;
 
-		if (ppdu_desc->frame_type == CDP_PPDU_FTYPE_CTRL) {
+		if (ppdu_desc->frame_type == CDP_PPDU_FTYPE_CTRL ||
+		    ppdu_desc->htt_frame_type ==
+			HTT_STATS_FTYPE_SGEN_QOS_NULL) {
 			struct cdp_tx_indication_info tx_capture_info;
 			struct cdp_tx_indication_mpdu_info *mpdu_info;
 			qdf_nbuf_t mgmt_ctl_nbuf;
@@ -2127,7 +2129,7 @@ void dp_tx_ppdu_stats_process(void *context)
 				/* print the bit map */
 				dp_tx_print_bitmap(pdev, ppdu_desc,
 						   0, ppdu_desc->ppdu_id);
-				if (ppdu_desc->user[0].tid > DP_NON_QOS_TID) {
+				if (ppdu_desc->user[0].tid > DP_MAX_TIDS) {
 					QDF_TRACE(QDF_MODULE_ID_TX_CAPTURE,
 						  QDF_TRACE_LEVEL_ERROR,
 						  "%s: ppdu[%d] peer_id[%d] TID[%d] > NON_QOS_TID!",

+ 1 - 1
dp/wifi3.0/dp_tx_capture.h

@@ -30,7 +30,7 @@ struct dp_peer;
 struct dp_tx_desc_s;
 
 #define TXCAP_MAX_TYPE \
-	((IEEE80211_FC0_TYPE_CTL >> IEEE80211_FC0_TYPE_SHIFT) + 1)
+	((IEEE80211_FC0_TYPE_DATA >> IEEE80211_FC0_TYPE_SHIFT) + 1)
 #define TXCAP_MAX_SUBTYPE \
 	((IEEE80211_FC0_SUBTYPE_MASK >> IEEE80211_FC0_SUBTYPE_SHIFT) + 1)
 struct dp_pdev_tx_capture {