Browse Source

qcacmn: Account for fragmented packets

Account and print fragmented packets received
on the Rx error path.

Change-Id: I078b6524e8de279445bf5f1f156655c354a169b6
CRs-Fixed: 2303817
Venkata Sharath Chandra Manchala 6 years ago
parent
commit
a7d5874dba
3 changed files with 7 additions and 0 deletions
  1. 4 0
      dp/wifi3.0/dp_main.c
  2. 1 0
      dp/wifi3.0/dp_rx_defrag.c
  3. 2 0
      dp/wifi3.0/dp_types.h

+ 4 - 0
dp/wifi3.0/dp_main.c

@@ -5805,6 +5805,10 @@ dp_print_soc_rx_stats(struct dp_soc *soc)
 	uint8_t index = 0;
 
 	DP_PRINT_STATS("SOC Rx Stats:\n");
+	DP_PRINT_STATS("Fragmented packets: %u",
+		       soc->stats.rx.rx_frags);
+	DP_PRINT_STATS("Reo reinjected packets: %u",
+		       soc->stats.rx.reo_reinject);
 	DP_PRINT_STATS("Errors:\n");
 	DP_PRINT_STATS("Rx Decrypt Errors = %d",
 			(soc->stats.rx.err.rxdma_error[HAL_RXDMA_ERR_DECRYPT] +

+ 1 - 0
dp/wifi3.0/dp_rx_defrag.c

@@ -1107,6 +1107,7 @@ dp_rx_defrag_nwifi_to_8023(qdf_nbuf_t nbuf, uint16_t hdrsize)
 
 	hal_srng_access_end(soc->hal_soc, hal_srng);
 
+	DP_STATS_INC(soc, rx.reo_reinject, 1);
 	QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_INFO,
 				"%s: reinjection done !", __func__);
 	return QDF_STATUS_SUCCESS;

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

@@ -558,6 +558,8 @@ struct dp_soc_stats {
 		uint32_t err_ring_pkts;
 		/* No of Fragments */
 		uint32_t rx_frags;
+		/* No of reinjected packets */
+		uint32_t reo_reinject;
 		struct {
 			/* Invalid RBM error count */
 			uint32_t invalid_rbm;