diff --git a/dp/wifi3.0/dp_rx_err.c b/dp/wifi3.0/dp_rx_err.c index 6db3ef381b..be787e8716 100644 --- a/dp/wifi3.0/dp_rx_err.c +++ b/dp/wifi3.0/dp_rx_err.c @@ -495,8 +495,10 @@ dp_rx_oor_handle(struct dp_soc *soc, * duplicated EAP response. */ if (mpdu_desc_info->mpdu_flags & HAL_MPDU_F_RETRY_BIT && - peer->rx_tid[tid].ba_status == DP_RX_BA_ACTIVE) + peer->rx_tid[tid].ba_status == DP_RX_BA_ACTIVE) { frame_mask &= ~FRAME_MASK_IPV4_EAPOL; + DP_STATS_INC(soc, rx.err.reo_err_oor_eapol_drop, 1); + } if (dp_rx_deliver_special_frame(soc, peer, nbuf, frame_mask, rx_tlv_hdr)) { diff --git a/dp/wifi3.0/dp_stats.c b/dp/wifi3.0/dp_stats.c index d09995ef03..eb3c9eb99d 100644 --- a/dp/wifi3.0/dp_stats.c +++ b/dp/wifi3.0/dp_stats.c @@ -6028,6 +6028,8 @@ void dp_txrx_path_stats(struct dp_soc *soc) pdev->soc->stats.rx.err.reo_err_oor_to_stack); DP_PRINT_STATS("REO err oor msdu drop: %u", pdev->soc->stats.rx.err.reo_err_oor_drop); + DP_PRINT_STATS("REO err oor eapol drop: %u", + pdev->soc->stats.rx.err.reo_err_oor_eapol_drop); DP_PRINT_STATS("Rx err msdu rejected: %d", soc->stats.rx.err.rejected); DP_PRINT_STATS("Rx raw frame dropped: %d", @@ -6613,6 +6615,9 @@ dp_print_soc_rx_stats(struct dp_soc *soc) DP_PRINT_STATS("REO err oor msdu drop: %d", soc->stats.rx.err.reo_err_oor_drop); + DP_PRINT_STATS("REO err oor eapol drop: %d", + soc->stats.rx.err.reo_err_oor_eapol_drop); + DP_PRINT_STATS("Rx err msdu rejected: %d", soc->stats.rx.err.rejected); diff --git a/dp/wifi3.0/dp_types.h b/dp/wifi3.0/dp_types.h index 60806bb334..d8adec6fd2 100644 --- a/dp/wifi3.0/dp_types.h +++ b/dp/wifi3.0/dp_types.h @@ -987,6 +987,8 @@ struct dp_soc_stats { uint32_t dup_refill_link_desc; /* Incorrect msdu continuation bit in MSDU desc */ uint32_t msdu_continuation_err; + /* REO OOR eapol drop count */ + uint32_t reo_err_oor_eapol_drop; } err; /* packet count per core - per ring */