瀏覽代碼

qcacmn: Fix for monitor issues in WKK

Fix for monitor issues in WKK.

Change-Id: Ie0dbd39b6a9b0014d85b2bdd58113326ac937ba0
CRs-Fixed: 3109099
Adwait Nayak 3 年之前
父節點
當前提交
10c1ced2ac

+ 7 - 1
dp/wifi3.0/be/dp_be.c

@@ -1,6 +1,6 @@
 /*
  * Copyright (c) 2021 The Linux Foundation. All rights reserved.
- * Copyright (c) 2021,2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
  *
  * Permission to use, copy, modify, and/or distribute this software for
  * any purpose with or without fee is hereby granted, provided that the
@@ -567,6 +567,9 @@ static QDF_STATUS dp_vdev_attach_be(struct dp_soc *soc, struct dp_vdev *vdev)
 	struct dp_vdev_be *be_vdev = dp_get_be_vdev_from_dp_vdev(vdev);
 	struct dp_pdev *pdev = vdev->pdev;
 
+	if (vdev->opmode == wlan_op_mode_monitor)
+		return QDF_STATUS_SUCCESS;
+
 	be_vdev->vdev_id_check_en = DP_TX_VDEV_ID_CHECK_ENABLE;
 
 	be_vdev->bank_id = dp_tx_get_bank_profile(be_soc, be_vdev);
@@ -601,6 +604,9 @@ static QDF_STATUS dp_vdev_detach_be(struct dp_soc *soc, struct dp_vdev *vdev)
 	struct dp_soc_be *be_soc = dp_get_be_soc_from_dp_soc(soc);
 	struct dp_vdev_be *be_vdev = dp_get_be_vdev_from_dp_vdev(vdev);
 
+	if (vdev->opmode == wlan_op_mode_monitor)
+		return QDF_STATUS_SUCCESS;
+
 	dp_tx_put_bank_profile(be_soc, be_vdev);
 	dp_clr_mlo_ptnr_list(soc, vdev);
 

+ 10 - 0
dp/wifi3.0/dp_main.c

@@ -5634,11 +5634,16 @@ static void dp_soc_deinit(void *txrx_soc)
 {
 	struct dp_soc *soc = (struct dp_soc *)txrx_soc;
 	struct htt_soc *htt_soc = soc->htt_handle;
+	struct dp_mon_ops *mon_ops;
 
 	qdf_atomic_set(&soc->cmn_init_done, 0);
 
 	soc->arch_ops.txrx_soc_deinit(soc);
 
+	mon_ops = dp_mon_ops_get(soc);
+	if (mon_ops && mon_ops->mon_soc_deinit)
+		mon_ops->mon_soc_deinit(soc);
+
 	/* free peer tables & AST tables allocated during peer_map_attach */
 	if (soc->peer_map_attach_success) {
 		dp_peer_find_detach(soc);
@@ -13037,6 +13042,7 @@ void *dp_soc_init(struct dp_soc *soc, HTC_HANDLE htc_handle,
 	struct hal_reo_params reo_params;
 	uint8_t i;
 	int num_dp_msi;
+	struct dp_mon_ops *mon_ops;
 
 	wlan_minidump_log(soc, sizeof(*soc), soc->ctrl_psoc,
 			  WLAN_MD_DP_SOC, "dp_soc");
@@ -13197,6 +13203,10 @@ void *dp_soc_init(struct dp_soc *soc, HTC_HANDLE htc_handle,
 
 	soc->features.pn_in_reo_dest = hal_reo_enable_pn_in_dest(soc->hal_soc);
 
+	mon_ops = dp_mon_ops_get(soc);
+	if (mon_ops && mon_ops->mon_soc_init)
+		mon_ops->mon_soc_init(soc);
+
 	qdf_atomic_set(&soc->cmn_init_done, 1);
 
 	qdf_nbuf_queue_init(&soc->htt_stats.msg);

+ 105 - 39
dp/wifi3.0/monitor/2.0/dp_mon_2.0.c

@@ -220,6 +220,9 @@ dp_mon_buffers_replenish(struct dp_soc *dp_soc,
 						dp_soc->hal_soc,
 						mon_srng);
 
+		if (!mon_ring_entry)
+			break;
+
 		qdf_assert_always((*desc_list)->mon_desc.in_use == 0);
 
 		(*desc_list)->mon_desc.in_use = 1;
@@ -248,7 +251,9 @@ dp_mon_buffers_replenish(struct dp_soc *dp_soc,
 	return ret;
 }
 
-QDF_STATUS dp_mon_desc_pool_init(struct dp_mon_desc_pool *mon_desc_pool)
+QDF_STATUS
+dp_mon_desc_pool_init(struct dp_mon_desc_pool *mon_desc_pool,
+		      uint32_t pool_size)
 {
 	int desc_id;
 	/* Initialize monitor desc lock */
@@ -259,6 +264,7 @@ QDF_STATUS dp_mon_desc_pool_init(struct dp_mon_desc_pool *mon_desc_pool)
 	mon_desc_pool->buf_size = DP_MON_DATA_BUFFER_SIZE;
 	/* link SW descs into a freelist */
 	mon_desc_pool->freelist = &mon_desc_pool->array[0];
+	mon_desc_pool->pool_size = pool_size;
 	qdf_mem_zero(mon_desc_pool->freelist, mon_desc_pool->pool_size);
 
 	for (desc_id = 0; desc_id <= mon_desc_pool->pool_size - 1; desc_id++) {
@@ -545,8 +551,6 @@ QDF_STATUS dp_mon_soc_detach_2_0(struct dp_soc *soc)
 		return QDF_STATUS_E_FAILURE;
 	}
 
-	dp_tx_mon_buffers_free(soc);
-	dp_rx_mon_buffers_free(soc);
 	dp_tx_mon_buf_desc_pool_free(soc);
 	dp_rx_mon_buf_desc_pool_free(soc);
 	dp_srng_free(soc, &soc->rxdma_mon_buf_ring[0]);
@@ -555,16 +559,110 @@ QDF_STATUS dp_mon_soc_detach_2_0(struct dp_soc *soc)
 	return QDF_STATUS_SUCCESS;
 }
 
+static void dp_mon_soc_deinit_2_0(struct dp_soc *soc)
+{
+	struct dp_mon_soc *mon_soc = soc->monitor_soc;
+	struct dp_mon_soc_be *mon_soc_be =
+		dp_get_be_mon_soc_from_dp_mon_soc(mon_soc);
+
+	dp_tx_mon_buffers_free(soc);
+	dp_rx_mon_buffers_free(soc);
+
+	dp_tx_mon_buf_desc_pool_deinit(soc);
+	dp_rx_mon_buf_desc_pool_deinit(soc);
+
+	dp_srng_deinit(soc, &soc->rxdma_mon_buf_ring[0], RXDMA_MONITOR_BUF, 0);
+
+	dp_srng_deinit(soc, &mon_soc_be->tx_mon_buf_ring, TX_MONITOR_BUF, 0);
+}
+
+static
+QDF_STATUS dp_rx_mon_soc_init_2_0(struct dp_soc *soc)
+{
+	if (dp_srng_init(soc, &soc->rxdma_mon_buf_ring[0],
+			 RXDMA_MONITOR_BUF, 0, 0)) {
+		dp_mon_err("%pK: " RNG_ERR "rx_mon_buf_ring", soc);
+		goto fail;
+	}
+
+	if (dp_rx_mon_buf_desc_pool_init(soc)) {
+		dp_mon_err("%pK: " RNG_ERR "rx mon desc pool init", soc);
+		goto fail;
+	}
+
+	/* monitor buffers for src */
+	if (dp_rx_mon_buffers_alloc(soc, DP_MON_RING_FILL_LEVEL_DEFAULT)) {
+		dp_mon_err("%pK: Rx mon buffers allocation failed", soc);
+		goto fail;
+	}
+
+	return QDF_STATUS_SUCCESS;
+fail:
+	return QDF_STATUS_E_FAILURE;
+}
+
+static
+QDF_STATUS dp_tx_mon_soc_init_2_0(struct dp_soc *soc)
+{
+	struct dp_mon_soc *mon_soc = soc->monitor_soc;
+	struct dp_mon_soc_be *mon_soc_be =
+		dp_get_be_mon_soc_from_dp_mon_soc(mon_soc);
+
+	if (dp_srng_init(soc, &mon_soc_be->tx_mon_buf_ring,
+			 TX_MONITOR_BUF, 0, 0)) {
+		dp_mon_err("%pK: " RNG_ERR "tx_mon_buf_ring", soc);
+		goto fail;
+	}
+
+	if (dp_tx_mon_buf_desc_pool_init(soc)) {
+		dp_mon_err("%pK: " RNG_ERR "tx mon desc pool init", soc);
+		goto fail;
+	}
+
+	/* monitor buffers for src */
+	if (dp_tx_mon_buffers_alloc(soc, DP_MON_RING_FILL_LEVEL_DEFAULT)) {
+		dp_mon_err("%pK: Tx mon buffers allocation failed", soc);
+		goto fail;
+	}
+
+	return QDF_STATUS_SUCCESS;
+fail:
+	return QDF_STATUS_E_FAILURE;
+}
+
+static
+QDF_STATUS dp_mon_soc_init_2_0(struct dp_soc *soc)
+{
+	if (soc->rxdma_mon_buf_ring[0].hal_srng) {
+		dp_mon_info("%pK: mon soc init is done", soc);
+		return QDF_STATUS_SUCCESS;
+	}
+
+	if (dp_rx_mon_soc_init_2_0(soc)) {
+		dp_mon_err("%pK: " RNG_ERR "tx_mon_buf_ring", soc);
+		goto fail;
+	}
+
+	if (dp_tx_mon_soc_init_2_0(soc)) {
+		dp_mon_err("%pK: " RNG_ERR "tx_mon_buf_ring", soc);
+		goto fail;
+	}
+	return QDF_STATUS_SUCCESS;
+fail:
+	dp_mon_soc_deinit_2_0(soc);
+	return QDF_STATUS_E_FAILURE;
+}
+
 static
 QDF_STATUS dp_mon_soc_attach_2_0(struct dp_soc *soc)
 {
-	struct dp_mon_soc_be *mon_soc_be = NULL;
 	struct dp_mon_soc *mon_soc = soc->monitor_soc;
+	struct dp_mon_soc_be *mon_soc_be =
+		dp_get_be_mon_soc_from_dp_mon_soc(mon_soc);
 	int entries;
 	struct wlan_cfg_dp_soc_ctxt *soc_cfg_ctx;
 
 	soc_cfg_ctx = soc->wlan_cfg_ctx;
-	mon_soc_be = dp_get_be_mon_soc_from_dp_mon_soc(mon_soc);
 	if (!mon_soc_be) {
 		dp_mon_err("DP MON SOC is NULL");
 		return QDF_STATUS_E_FAILURE;
@@ -589,18 +687,6 @@ QDF_STATUS dp_mon_soc_attach_2_0(struct dp_soc *soc)
 		goto fail;
 	}
 
-	if (dp_srng_init(soc, &soc->rxdma_mon_buf_ring[0],
-			 RXDMA_MONITOR_BUF, 0, 0)) {
-		dp_mon_err("%pK: " RNG_ERR "rx_mon_buf_ring", soc);
-		goto fail;
-	}
-
-	if (dp_srng_init(soc, &mon_soc_be->tx_mon_buf_ring,
-			 TX_MONITOR_BUF, 0, 0)) {
-		dp_mon_err("%pK: " RNG_ERR "tx_mon_buf_ring", soc);
-		goto fail;
-	}
-
 	/* allocate sw desc pool */
 	if (dp_rx_mon_buf_desc_pool_alloc(soc)) {
 		dp_mon_err("%pK: Rx mon desc pool allocation failed", soc);
@@ -612,28 +698,6 @@ QDF_STATUS dp_mon_soc_attach_2_0(struct dp_soc *soc)
 		goto fail;
 	}
 
-	/* initialize sw desc pool */
-	if (dp_tx_mon_buf_desc_pool_init(soc)) {
-		dp_mon_err("%pK: " RNG_ERR "tx mon desc pool init", soc);
-		goto fail;
-	}
-
-	if (dp_rx_mon_buf_desc_pool_init(soc)) {
-		dp_mon_err("%pK: " RNG_ERR "rx mon desc pool init", soc);
-		goto fail;
-	}
-
-	/* monitor buffers for src */
-	if (dp_rx_mon_buffers_alloc(soc, DP_MON_RING_FILL_LEVEL_DEFAULT)) {
-		dp_mon_err("%pK: Rx mon buffers allocation failed", soc);
-		goto fail;
-	}
-
-	if (dp_tx_mon_buffers_alloc(soc, DP_MON_RING_FILL_LEVEL_DEFAULT)) {
-		dp_mon_err("%pK: Tx mon buffers allocation failed", soc);
-		goto fail;
-	}
-
 	return QDF_STATUS_SUCCESS;
 fail:
 	dp_mon_soc_detach_2_0(soc);
@@ -975,6 +1039,8 @@ struct dp_mon_ops monitor_ops_2_0 = {
 	.mon_soc_cfg_init = dp_mon_soc_cfg_init,
 	.mon_soc_attach = dp_mon_soc_attach_2_0,
 	.mon_soc_detach = dp_mon_soc_detach_2_0,
+	.mon_soc_init = dp_mon_soc_init_2_0,
+	.mon_soc_deinit = dp_mon_soc_deinit_2_0,
 	.mon_pdev_alloc = dp_mon_pdev_alloc_2_0,
 	.mon_pdev_free = dp_mon_pdev_free_2_0,
 	.mon_pdev_attach = dp_mon_pdev_attach,

+ 5 - 2
dp/wifi3.0/monitor/2.0/dp_mon_2.0.h

@@ -1,6 +1,6 @@
 /*
  * Copyright (c) 2021 The Linux Foundation. All rights reserved.
- * Copyright (c) 2021,2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
  *
  * Permission to use, copy, modify, and/or distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -134,10 +134,13 @@ struct dp_mon_soc_be {
 /**
  * dp_mon_desc_pool_init() - Monitor descriptor pool init
  * @mon_desc_pool: mon desc pool
+ * @pool_size
  *
  * Return: non-zero for failure, zero for success
  */
-QDF_STATUS dp_mon_desc_pool_init(struct dp_mon_desc_pool *mon_desc_pool);
+QDF_STATUS
+dp_mon_desc_pool_init(struct dp_mon_desc_pool *mon_desc_pool,
+		      uint32_t pool_size);
 
 /*
  * dp_mon_desc_pool_deinit()- monitor descriptor pool deinit

+ 3 - 0
dp/wifi3.0/monitor/2.0/dp_mon_filter_2.0.c

@@ -1745,5 +1745,8 @@ QDF_STATUS dp_rx_mon_filter_update_2_0(struct dp_pdev *pdev)
 	dp_mon_filter_h2t_setup(soc, pdev, srng_type, &filter.rx_tlv_filter);
 	dp_mon_ht2_rx_ring_cfg(soc, pdev, srng_type,
 			       &filter.rx_tlv_filter.tlv_filter);
+	dp_mon_filter_show_filter(mon_pdev,
+				  DP_MON_FILTER_MONITOR_MODE,
+				  &filter.rx_tlv_filter);
 	return QDF_STATUS_SUCCESS;
 }

+ 16 - 8
dp/wifi3.0/monitor/2.0/dp_rx_mon_2.0.c

@@ -126,7 +126,8 @@ void
 dp_rx_mon_buf_desc_pool_deinit(struct dp_soc *soc)
 {
 	struct dp_mon_soc *mon_soc = soc->monitor_soc;
-	struct dp_mon_soc_be *mon_soc_be = dp_get_be_mon_soc_from_dp_mon_soc(mon_soc);
+	struct dp_mon_soc_be *mon_soc_be =
+		dp_get_be_mon_soc_from_dp_mon_soc(mon_soc);
 
 	dp_mon_desc_pool_deinit(&mon_soc_be->rx_desc_mon);
 }
@@ -135,15 +136,20 @@ QDF_STATUS
 dp_rx_mon_buf_desc_pool_init(struct dp_soc *soc)
 {
 	struct dp_mon_soc *mon_soc = soc->monitor_soc;
-	struct dp_mon_soc_be *mon_soc_be = dp_get_be_mon_soc_from_dp_mon_soc(mon_soc);
+	struct dp_mon_soc_be *mon_soc_be =
+		dp_get_be_mon_soc_from_dp_mon_soc(mon_soc);
+	uint32_t num_entries;
 
-	return dp_mon_desc_pool_init(&mon_soc_be->rx_desc_mon);
+	num_entries =
+		wlan_cfg_get_dp_soc_rx_mon_buf_ring_size(soc->wlan_cfg_ctx);
+	return dp_mon_desc_pool_init(&mon_soc_be->rx_desc_mon, num_entries);
 }
 
 void dp_rx_mon_buf_desc_pool_free(struct dp_soc *soc)
 {
 	struct dp_mon_soc *mon_soc = soc->monitor_soc;
-	struct dp_mon_soc_be *mon_soc_be = dp_get_be_mon_soc_from_dp_mon_soc(mon_soc);
+	struct dp_mon_soc_be *mon_soc_be =
+		dp_get_be_mon_soc_from_dp_mon_soc(mon_soc);
 
 	if (mon_soc)
 		dp_mon_desc_pool_free(&mon_soc_be->rx_desc_mon);
@@ -155,7 +161,8 @@ dp_rx_mon_buf_desc_pool_alloc(struct dp_soc *soc)
 	struct dp_srng *mon_buf_ring;
 	struct dp_mon_desc_pool *rx_mon_desc_pool;
 	struct dp_mon_soc *mon_soc = soc->monitor_soc;
-	struct dp_mon_soc_be *mon_soc_be = dp_get_be_mon_soc_from_dp_mon_soc(mon_soc);
+	struct dp_mon_soc_be *mon_soc_be =
+		dp_get_be_mon_soc_from_dp_mon_soc(mon_soc);
 	int entries;
 	struct wlan_cfg_dp_soc_ctxt *soc_cfg_ctx;
 
@@ -175,7 +182,8 @@ dp_rx_mon_buffers_free(struct dp_soc *soc)
 {
 	struct dp_mon_desc_pool *rx_mon_desc_pool;
 	struct dp_mon_soc *mon_soc = soc->monitor_soc;
-	struct dp_mon_soc_be *mon_soc_be = dp_get_be_mon_soc_from_dp_mon_soc(mon_soc);
+	struct dp_mon_soc_be *mon_soc_be =
+		dp_get_be_mon_soc_from_dp_mon_soc(mon_soc);
 
 	rx_mon_desc_pool = &mon_soc_be->rx_desc_mon;
 
@@ -190,13 +198,13 @@ dp_rx_mon_buffers_alloc(struct dp_soc *soc, uint32_t size)
 	union dp_mon_desc_list_elem_t *desc_list = NULL;
 	union dp_mon_desc_list_elem_t *tail = NULL;
 	struct dp_mon_soc *mon_soc = soc->monitor_soc;
-	struct dp_mon_soc_be *mon_soc_be = dp_get_be_mon_soc_from_dp_mon_soc(mon_soc);
+	struct dp_mon_soc_be *mon_soc_be =
+		dp_get_be_mon_soc_from_dp_mon_soc(mon_soc);
 
 	mon_buf_ring = &soc->rxdma_mon_buf_ring[0];
 
 	rx_mon_desc_pool = &mon_soc_be->rx_desc_mon;
 
-	qdf_print("%s:%d size: %d", __func__, __LINE__, size);
 	return dp_mon_buffers_replenish(soc, mon_buf_ring,
 					rx_mon_desc_pool,
 					size,

+ 17 - 8
dp/wifi3.0/monitor/2.0/dp_tx_mon_2.0.c

@@ -1,6 +1,6 @@
 /*
  * Copyright (c) 2021, The Linux Foundation. All rights reserved.
- * Copyright (c) 2021,2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
  *
  * Permission to use, copy, modify, and/or distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -127,7 +127,8 @@ void
 dp_tx_mon_buf_desc_pool_deinit(struct dp_soc *soc)
 {
 	struct dp_mon_soc *mon_soc = soc->monitor_soc;
-	struct dp_mon_soc_be *mon_soc_be = dp_get_be_mon_soc_from_dp_mon_soc(mon_soc);
+	struct dp_mon_soc_be *mon_soc_be =
+		dp_get_be_mon_soc_from_dp_mon_soc(mon_soc);
 
 	dp_mon_desc_pool_deinit(&mon_soc_be->tx_desc_mon);
 }
@@ -136,15 +137,20 @@ QDF_STATUS
 dp_tx_mon_buf_desc_pool_init(struct dp_soc *soc)
 {
 	struct dp_mon_soc *mon_soc = soc->monitor_soc;
-	struct dp_mon_soc_be *mon_soc_be = dp_get_be_mon_soc_from_dp_mon_soc(mon_soc);
+	struct dp_mon_soc_be *mon_soc_be =
+		dp_get_be_mon_soc_from_dp_mon_soc(mon_soc);
+	uint32_t num_entries;
 
-	return dp_mon_desc_pool_init(&mon_soc_be->tx_desc_mon);
+	num_entries =
+		wlan_cfg_get_dp_soc_rx_mon_buf_ring_size(soc->wlan_cfg_ctx);
+	return dp_mon_desc_pool_init(&mon_soc_be->tx_desc_mon, num_entries);
 }
 
 void dp_tx_mon_buf_desc_pool_free(struct dp_soc *soc)
 {
 	struct dp_mon_soc *mon_soc = soc->monitor_soc;
-	struct dp_mon_soc_be *mon_soc_be = dp_get_be_mon_soc_from_dp_mon_soc(mon_soc);
+	struct dp_mon_soc_be *mon_soc_be =
+		dp_get_be_mon_soc_from_dp_mon_soc(mon_soc);
 
 	if (mon_soc_be)
 		dp_mon_desc_pool_free(&mon_soc_be->tx_desc_mon);
@@ -158,7 +164,8 @@ dp_tx_mon_buf_desc_pool_alloc(struct dp_soc *soc)
 	int entries;
 	struct wlan_cfg_dp_soc_ctxt *soc_cfg_ctx;
 	struct dp_mon_soc *mon_soc = soc->monitor_soc;
-	struct dp_mon_soc_be *mon_soc_be = dp_get_be_mon_soc_from_dp_mon_soc(mon_soc);
+	struct dp_mon_soc_be *mon_soc_be =
+		dp_get_be_mon_soc_from_dp_mon_soc(mon_soc);
 
 	soc_cfg_ctx = soc->wlan_cfg_ctx;
 
@@ -177,7 +184,8 @@ dp_tx_mon_buffers_free(struct dp_soc *soc)
 {
 	struct dp_mon_desc_pool *tx_mon_desc_pool;
 	struct dp_mon_soc *mon_soc = soc->monitor_soc;
-	struct dp_mon_soc_be *mon_soc_be = dp_get_be_mon_soc_from_dp_mon_soc(mon_soc);
+	struct dp_mon_soc_be *mon_soc_be =
+		dp_get_be_mon_soc_from_dp_mon_soc(mon_soc);
 
 	tx_mon_desc_pool = &mon_soc_be->tx_desc_mon;
 
@@ -192,7 +200,8 @@ dp_tx_mon_buffers_alloc(struct dp_soc *soc, uint32_t size)
 	union dp_mon_desc_list_elem_t *desc_list = NULL;
 	union dp_mon_desc_list_elem_t *tail = NULL;
 	struct dp_mon_soc *mon_soc = soc->monitor_soc;
-	struct dp_mon_soc_be *mon_soc_be = dp_get_be_mon_soc_from_dp_mon_soc(mon_soc);
+	struct dp_mon_soc_be *mon_soc_be =
+		dp_get_be_mon_soc_from_dp_mon_soc(mon_soc);
 
 	mon_buf_ring = &mon_soc_be->tx_mon_buf_ring;
 

+ 2 - 0
dp/wifi3.0/monitor/dp_mon.h

@@ -418,6 +418,8 @@ struct dp_mon_ops {
 	QDF_STATUS (*mon_soc_attach)(struct dp_soc *soc);
 	QDF_STATUS (*mon_soc_detach)(struct dp_soc *soc);
 	QDF_STATUS (*mon_pdev_alloc)(struct dp_pdev *pdev);
+	QDF_STATUS (*mon_soc_init)(struct dp_soc *soc);
+	void (*mon_soc_deinit)(struct dp_soc *soc);
 	void (*mon_pdev_free)(struct dp_pdev *pdev);
 	QDF_STATUS (*mon_pdev_attach)(struct dp_pdev *pdev);
 	QDF_STATUS (*mon_pdev_detach)(struct dp_pdev *pdev);

+ 0 - 3
dp/wifi3.0/monitor/dp_mon_filter.c

@@ -501,9 +501,6 @@ QDF_STATUS dp_mon_filter_update(struct dp_pdev *pdev)
 	if (mon_ops && mon_ops->tx_mon_filter_update)
 		mon_ops->tx_mon_filter_update(pdev);
 
-	if (mon_ops && mon_ops->rx_mon_filter_update)
-		mon_ops->rx_mon_filter_update(pdev);
-
 	return QDF_STATUS_SUCCESS;
 }
 

+ 1 - 1
dp/wifi3.0/monitor/dp_mon_filter.h

@@ -77,7 +77,7 @@ do { \
 } while (0)
 
 #define DP_MON_FILTER_PRINT(fmt, args ...) \
-	QDF_TRACE(QDF_MODULE_ID_MON_FILTER, QDF_TRACE_LEVEL_DEBUG, \
+	QDF_TRACE(QDF_MODULE_ID_MON_FILTER, QDF_TRACE_LEVEL_ERROR, \
 		  fmt, ## args)
 
 #define dp_mon_filter_err(params...) QDF_TRACE_ERROR(QDF_MODULE_ID_MON_FILTER, params)