Răsfoiți Sursa

qcacmn: Add start sequence update count to rx stats

add ssn_updates_count to dp_soc_stats rx err stats.
Also add bar fail count on rx tid update during
bar handling.

Change-Id: Ic9a963c8d29ace2087e63cba56bc0d7e40907e1a
CRs-Fixed: 2918806
sandhu 4 ani în urmă
părinte
comite
49846e25ef
3 a modificat fișierele cu 20 adăugiri și 3 ștergeri
  1. 10 3
      dp/wifi3.0/dp_rx_err.c
  2. 6 0
      dp/wifi3.0/dp_stats.c
  3. 4 0
      dp/wifi3.0/dp_types.h

+ 10 - 3
dp/wifi3.0/dp_rx_err.c

@@ -779,6 +779,7 @@ void dp_rx_err_handle_bar(struct dp_soc *soc,
 	unsigned char type, subtype;
 	uint16_t start_seq_num;
 	uint32_t tid;
+	QDF_STATUS status;
 	struct ieee80211_frame_bar *bar;
 
 	/*
@@ -807,9 +808,15 @@ void dp_rx_err_handle_bar(struct dp_soc *soc,
 	dp_info_rl("tid %u window_size %u start_seq_num %u",
 		   tid, peer->rx_tid[tid].ba_win_size, start_seq_num);
 
-	dp_rx_tid_update_wifi3(peer, tid,
-			       peer->rx_tid[tid].ba_win_size,
-			       start_seq_num);
+	status = dp_rx_tid_update_wifi3(peer, tid,
+					peer->rx_tid[tid].ba_win_size,
+					start_seq_num);
+	if (status != QDF_STATUS_SUCCESS) {
+		dp_err_rl("failed to handle bar frame update rx tid");
+		DP_STATS_INC(soc, rx.err.bar_handle_fail_count, 1);
+	} else {
+		DP_STATS_INC(soc, rx.err.ssn_update_count, 1);
+	}
 }
 
 /**

+ 6 - 0
dp/wifi3.0/dp_stats.c

@@ -6630,6 +6630,12 @@ dp_print_soc_rx_stats(struct dp_soc *soc)
 	DP_PRINT_STATS("Rx err msdu continuation err: %d",
 		       soc->stats.rx.err.msdu_continuation_err);
 
+	DP_PRINT_STATS("ssn update count: %d",
+		       soc->stats.rx.err.ssn_update_count);
+
+	DP_PRINT_STATS("bar handle update fail count: %d",
+		       soc->stats.rx.err.bar_handle_fail_count);
+
 	for (i = 0; i < HAL_RXDMA_ERR_MAX; i++) {
 		index += qdf_snprint(&rxdma_error[index],
 				DP_RXDMA_ERR_LENGTH - index,

+ 4 - 0
dp/wifi3.0/dp_types.h

@@ -1015,6 +1015,10 @@ struct dp_soc_stats {
 			uint32_t reo_err_oor_eapol_drop;
 			/* Non Eapol packet drop count due to peer not authorized  */
 			uint32_t peer_unauth_rx_pkt_drop;
+			/* count of start sequence (ssn) updates */
+			uint32_t ssn_update_count;
+			/* count of bar handling fail */
+			uint32_t bar_handle_fail_count;
 		} err;
 
 		/* packet count per core - per ring */