diff --git a/dp/wifi3.0/be/dp_be.c b/dp/wifi3.0/be/dp_be.c index b1b6a253bf..c3b1319097 100644 --- a/dp/wifi3.0/be/dp_be.c +++ b/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); diff --git a/dp/wifi3.0/dp_main.c b/dp/wifi3.0/dp_main.c index 9b124a53fc..1bbbc6d08d 100644 --- a/dp/wifi3.0/dp_main.c +++ b/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); diff --git a/dp/wifi3.0/monitor/2.0/dp_mon_2.0.c b/dp/wifi3.0/monitor/2.0/dp_mon_2.0.c index d91d9d2e5c..5dfbcf0944 100644 --- a/dp/wifi3.0/monitor/2.0/dp_mon_2.0.c +++ b/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, diff --git a/dp/wifi3.0/monitor/2.0/dp_mon_2.0.h b/dp/wifi3.0/monitor/2.0/dp_mon_2.0.h index fb6c0d6149..a980569d80 100644 --- a/dp/wifi3.0/monitor/2.0/dp_mon_2.0.h +++ b/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 diff --git a/dp/wifi3.0/monitor/2.0/dp_mon_filter_2.0.c b/dp/wifi3.0/monitor/2.0/dp_mon_filter_2.0.c index 0a45e8e52e..fec613104f 100644 --- a/dp/wifi3.0/monitor/2.0/dp_mon_filter_2.0.c +++ b/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; } diff --git a/dp/wifi3.0/monitor/2.0/dp_rx_mon_2.0.c b/dp/wifi3.0/monitor/2.0/dp_rx_mon_2.0.c index 9a0b845930..bbd9e57f89 100644 --- a/dp/wifi3.0/monitor/2.0/dp_rx_mon_2.0.c +++ b/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, diff --git a/dp/wifi3.0/monitor/2.0/dp_tx_mon_2.0.c b/dp/wifi3.0/monitor/2.0/dp_tx_mon_2.0.c index 2c7d006c53..473f929391 100644 --- a/dp/wifi3.0/monitor/2.0/dp_tx_mon_2.0.c +++ b/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; diff --git a/dp/wifi3.0/monitor/dp_mon.h b/dp/wifi3.0/monitor/dp_mon.h index 2f406e111d..8fe723adb7 100644 --- a/dp/wifi3.0/monitor/dp_mon.h +++ b/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); diff --git a/dp/wifi3.0/monitor/dp_mon_filter.c b/dp/wifi3.0/monitor/dp_mon_filter.c index 3f4cf98eab..3b51157657 100644 --- a/dp/wifi3.0/monitor/dp_mon_filter.c +++ b/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; } diff --git a/dp/wifi3.0/monitor/dp_mon_filter.h b/dp/wifi3.0/monitor/dp_mon_filter.h index 9f8cb9ea8b..b64f37fddd 100644 --- a/dp/wifi3.0/monitor/dp_mon_filter.h +++ b/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)