From ee26d03b1006fd304db612f2cf26cf49254fff7b Mon Sep 17 00:00:00 2001 From: Kai Chen Date: Fri, 10 Jul 2020 12:20:00 -0700 Subject: [PATCH] qcacmn: resolve issue on updating protocol tag Skip protocol tag updating from msdu end TLV protocol tag meta data when there is RXDMA REO entrance push error on monitor destination ring. The attention and msdu end TLV is not updated reliably when there is RXDMA REO entrance push error such as FCS error on monitor destination ring. Change-Id: I4098c01251b4f4cb2e796d450c156ba8f2b9464d --- dp/inc/cdp_txrx_mon_struct.h | 2 +- dp/wifi3.0/dp_rx_mon_dest.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/dp/inc/cdp_txrx_mon_struct.h b/dp/inc/cdp_txrx_mon_struct.h index 6801f14eb771..72d340c9e371 100644 --- a/dp/inc/cdp_txrx_mon_struct.h +++ b/dp/inc/cdp_txrx_mon_struct.h @@ -195,7 +195,7 @@ struct cdp_mon_status { uint32_t cdp_rs_bw; uint32_t cdp_rs_nss; uint8_t cdp_rs_fcs_err; - + bool cdp_rs_rxdma_err; }; enum { diff --git a/dp/wifi3.0/dp_rx_mon_dest.c b/dp/wifi3.0/dp_rx_mon_dest.c index b9dfeb4b8acf..86ad91d89ad0 100644 --- a/dp/wifi3.0/dp_rx_mon_dest.c +++ b/dp/wifi3.0/dp_rx_mon_dest.c @@ -184,6 +184,7 @@ dp_rx_mon_mpdu_pop(struct dp_soc *soc, uint32_t mac_id, uint8_t bm_action = HAL_BM_ACTION_PUT_IN_IDLE_LIST; uint64_t nbuf_paddr = 0; uint32_t rx_link_buf_info[HAL_RX_BUFFINFO_NUM_DWORDS]; + struct cdp_mon_status *rs; if (qdf_unlikely(!dp_pdev)) { QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_DEBUG, @@ -197,6 +198,8 @@ dp_rx_mon_mpdu_pop(struct dp_soc *soc, uint32_t mac_id, hal_rx_reo_ent_buf_paddr_get(rxdma_dst_ring_desc, &buf_info, &msdu_cnt); + rs = &dp_pdev->rx_mon_recv_status; + rs->cdp_rs_rxdma_err = false; if ((hal_rx_reo_ent_rxdma_push_reason_get(rxdma_dst_ring_desc) == HAL_RX_WBM_RXDMA_PSH_RSN_ERROR)) { uint8_t rxdma_err = @@ -209,6 +212,7 @@ dp_rx_mon_mpdu_pop(struct dp_soc *soc, uint32_t mac_id, drop_mpdu = true; dp_pdev->rx_mon_stats.dest_mpdu_drop++; } + rs->cdp_rs_rxdma_err = true; } is_frag = false;