From 9056ed8685e266cfea675f96f5dc1b65388dcb6a Mon Sep 17 00:00:00 2001 From: Tallapragada Kalyan Date: Mon, 25 May 2020 08:14:51 +0530 Subject: [PATCH] qcacmn: use proper replenish function for monitor buffer ring use proper replenish function for monitor buffer ring when it is called from monitor vap create Change-Id: I2ee908f93d84eec262def264359ba4afce707976 --- dp/wifi3.0/dp_rx_mon_dest.c | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/dp/wifi3.0/dp_rx_mon_dest.c b/dp/wifi3.0/dp_rx_mon_dest.c index e7036193e2..d38df0a96f 100644 --- a/dp/wifi3.0/dp_rx_mon_dest.c +++ b/dp/wifi3.0/dp_rx_mon_dest.c @@ -1130,13 +1130,14 @@ dp_rx_pdev_mon_buf_buffers_alloc(struct dp_pdev *pdev, uint32_t mac_id, struct dp_srng *mon_buf_ring; uint32_t num_entries; struct rx_desc_pool *rx_desc_pool; + QDF_STATUS status = QDF_STATUS_SUCCESS; struct wlan_cfg_dp_soc_ctxt *soc_cfg_ctx = soc->wlan_cfg_ctx; - mon_buf_ring = &soc->rxdma_mon_buf_ring[mac_id]; + mon_buf_ring = dp_rxdma_get_mon_buf_ring(pdev, mac_id); num_entries = mon_buf_ring->num_entries; - rx_desc_pool = &soc->rx_desc_mon[mac_id]; + rx_desc_pool = dp_rx_get_mon_desc_pool(soc, mac_id, pdev_id); dp_debug("Mon RX Desc Pool[%d] entries=%u", pdev_id, num_entries); @@ -1147,13 +1148,24 @@ dp_rx_pdev_mon_buf_buffers_alloc(struct dp_pdev *pdev, uint32_t mac_id, * entries. Once the monitor VAP is configured we replenish * the complete RXDMA monitor buffer ring. */ - if (delayed_replenish) + if (delayed_replenish) { num_entries = soc_cfg_ctx->delayed_replenish_entries + 1; - else - num_entries -= soc_cfg_ctx->delayed_replenish_entries; + status = dp_pdev_rx_buffers_attach(soc, mac_id, mon_buf_ring, + rx_desc_pool, + num_entries - 1); + } else { + union dp_rx_desc_list_elem_t *tail = NULL; + union dp_rx_desc_list_elem_t *desc_list = NULL; - return dp_pdev_rx_buffers_attach(soc, mac_id, mon_buf_ring, - rx_desc_pool, num_entries - 1); + status = dp_rx_buffers_replenish(soc, mac_id, + mon_buf_ring, + rx_desc_pool, + num_entries, + &desc_list, + &tail); + } + + return status; } static QDF_STATUS