Browse Source

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
Tallapragada Kalyan 5 years ago
parent
commit
9056ed8685
1 changed files with 19 additions and 7 deletions
  1. 19 7
      dp/wifi3.0/dp_rx_mon_dest.c

+ 19 - 7
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;
 	struct dp_srng *mon_buf_ring;
 	uint32_t num_entries;
 	uint32_t num_entries;
 	struct rx_desc_pool *rx_desc_pool;
 	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;
 	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;
 	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);
 	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
 	 * entries. Once the monitor VAP is configured we replenish
 	 * the complete RXDMA monitor buffer ring.
 	 * the complete RXDMA monitor buffer ring.
 	 */
 	 */
-	if (delayed_replenish)
+	if (delayed_replenish) {
 		num_entries = soc_cfg_ctx->delayed_replenish_entries + 1;
 		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;
+
+		status = dp_rx_buffers_replenish(soc, mac_id,
+						 mon_buf_ring,
+						 rx_desc_pool,
+						 num_entries,
+						 &desc_list,
+						 &tail);
+	}
 
 
-	return dp_pdev_rx_buffers_attach(soc, mac_id, mon_buf_ring,
-					 rx_desc_pool, num_entries - 1);
+	return status;
 }
 }
 
 
 static QDF_STATUS
 static QDF_STATUS