diff --git a/dp/wifi3.0/dp_main.c b/dp/wifi3.0/dp_main.c index 274644e33a54..be2ba81745f7 100644 --- a/dp/wifi3.0/dp_main.c +++ b/dp/wifi3.0/dp_main.c @@ -1520,10 +1520,10 @@ static void dp_hw_link_desc_pool_cleanup(struct dp_soc *soc) #define REO_STATUS_RING_SIZE 32 #define RXDMA_BUF_RING_SIZE 1024 #define RXDMA_REFILL_RING_SIZE 2048 -#define RXDMA_MONITOR_BUF_RING_SIZE 1024 -#define RXDMA_MONITOR_DST_RING_SIZE 1024 +#define RXDMA_MONITOR_BUF_RING_SIZE 4096 +#define RXDMA_MONITOR_DST_RING_SIZE 2048 #define RXDMA_MONITOR_STATUS_RING_SIZE 1024 -#define RXDMA_MONITOR_DESC_RING_SIZE 1024 +#define RXDMA_MONITOR_DESC_RING_SIZE 2048 #define RXDMA_ERR_DST_RING_SIZE 1024 /* diff --git a/dp/wifi3.0/dp_rx_mon_dest.c b/dp/wifi3.0/dp_rx_mon_dest.c index b67728e7ae87..e291ec83ccd9 100644 --- a/dp/wifi3.0/dp_rx_mon_dest.c +++ b/dp/wifi3.0/dp_rx_mon_dest.c @@ -142,7 +142,6 @@ dp_rx_mon_mpdu_pop(struct dp_soc *soc, uint32_t mac_id, uint32_t msdu_ppdu_id, msdu_cnt; uint8_t *data; uint32_t i; - bool mpdu_err = false; uint32_t total_frag_len, frag_len; bool is_frag, is_first_msdu; @@ -153,10 +152,6 @@ 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, &p_last_buf_addr_info, &msdu_cnt); - if(HAL_RX_WBM_RXDMA_PSH_RSN_ERROR == - hal_rx_reo_ent_rxdma_push_reason_get(rxdma_dst_ring_desc)) - mpdu_err = true; - is_frag = false; is_first_msdu = true; @@ -208,7 +203,7 @@ dp_rx_mon_mpdu_pop(struct dp_soc *soc, uint32_t mac_id, __func__, __LINE__, *ppdu_id, msdu_ppdu_id); - if ((*ppdu_id != msdu_ppdu_id) && !mpdu_err) { + if (*ppdu_id < msdu_ppdu_id) { *ppdu_id = msdu_ppdu_id; return rx_bufs_used; } @@ -762,8 +757,8 @@ void dp_rx_mon_dest_process(struct dp_soc *soc, uint32_t mac_id, uint32_t quota) ppdu_id = pdev->ppdu_info.com_info.ppdu_id; rx_bufs_used = 0; - while (qdf_likely((rxdma_dst_ring_desc = - hal_srng_dst_peek(hal_soc, mon_dst_srng)) && quota--)) { + while (qdf_likely(rxdma_dst_ring_desc = + hal_srng_dst_peek(hal_soc, mon_dst_srng))) { qdf_nbuf_t head_msdu, tail_msdu; uint32_t npackets; head_msdu = (qdf_nbuf_t) NULL; diff --git a/dp/wifi3.0/dp_rx_mon_status.c b/dp/wifi3.0/dp_rx_mon_status.c index 324ef3787cce..4d3d2aee1520 100644 --- a/dp/wifi3.0/dp_rx_mon_status.c +++ b/dp/wifi3.0/dp_rx_mon_status.c @@ -146,7 +146,7 @@ dp_rx_mon_status_process_tlv(struct dp_soc *soc, uint32_t mac_id, qdf_nbuf_t status_nbuf; uint8_t *rx_tlv; uint8_t *rx_tlv_start; - uint32_t tlv_status = HAL_TLV_STATUS_DUMMY; + uint32_t tlv_status = HAL_TLV_STATUS_BUF_DONE; ppdu_info = &pdev->ppdu_info; diff --git a/hal/wifi3.0/hal_api_mon.h b/hal/wifi3.0/hal_api_mon.h index b5c3e496c5a1..6b4b19c2409a 100644 --- a/hal/wifi3.0/hal_api_mon.h +++ b/hal/wifi3.0/hal_api_mon.h @@ -71,7 +71,7 @@ #define HAL_TLV_STATUS_PPDU_NOT_DONE 0 #define HAL_TLV_STATUS_PPDU_DONE 1 -#define HAL_TLV_STATUS_DUMMY 2 +#define HAL_TLV_STATUS_BUF_DONE 2 #define HAL_MAX_UL_MU_USERS 8 @@ -537,7 +537,7 @@ hal_rx_status_get_tlv_info(void *rx_tlv, struct hal_rx_ppdu_info *ppdu_info) return HAL_TLV_STATUS_PPDU_DONE; case WIFIDUMMY_E: - return HAL_TLV_STATUS_PPDU_DONE; + return HAL_TLV_STATUS_BUF_DONE; case WIFIPHYRX_HT_SIG_E: {