From 65fad66752d947ecea6e8371af6456b7f20c528f Mon Sep 17 00:00:00 2001 From: Naga Date: Fri, 22 Mar 2019 19:01:28 +0530 Subject: [PATCH] qcacmn: Add change to skip monitor ring cfg Add change to skip monitor ring configuration for smart and lite monitor through dp_set_monitor_mode API instead will be handled to configure cdp_txrx_set_pdev_param from caller as required during restart, stop and up path. Change-Id: If842399c64601049efdf9233a83ede5ce368802c CRs-Fixed: 2421573 --- dp/wifi3.0/dp_main.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/dp/wifi3.0/dp_main.c b/dp/wifi3.0/dp_main.c index 48159839c5..d33320e006 100644 --- a/dp/wifi3.0/dp_main.c +++ b/dp/wifi3.0/dp_main.c @@ -5894,7 +5894,7 @@ static QDF_STATUS dp_pdev_configure_monitor_rings(struct dp_pdev *pdev) * Return: 0 on success, not 0 on failure */ static QDF_STATUS dp_vdev_set_monitor_mode(struct cdp_vdev *vdev_handle, - uint8_t smart_monitor) + uint8_t special_monitor) { struct dp_vdev *vdev = (struct dp_vdev *)vdev_handle; struct dp_pdev *pdev; @@ -5902,10 +5902,21 @@ static QDF_STATUS dp_vdev_set_monitor_mode(struct cdp_vdev *vdev_handle, qdf_assert(vdev); pdev = vdev->pdev; + pdev->monitor_vdev = vdev; QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_WARN, "pdev=%pK, pdev_id=%d, soc=%pK vdev=%pK\n", pdev, pdev->pdev_id, pdev->soc, vdev); + /* + * do not configure monitor buf ring and filter for smart and + * lite monitor + * for smart monitor filters are added along with first NAC + * for lite monitor required configuration done through + * dp_set_pdev_param + */ + if (special_monitor) + return QDF_STATUS_SUCCESS; + /*Check if current pdev's monitor_vdev exists */ if (pdev->monitor_configured) { QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR, @@ -5914,13 +5925,8 @@ static QDF_STATUS dp_vdev_set_monitor_mode(struct cdp_vdev *vdev_handle, return QDF_STATUS_E_RESOURCES; } - pdev->monitor_vdev = vdev; pdev->monitor_configured = true; - /* If smart monitor mode, do not configure monitor ring */ - if (smart_monitor) - return QDF_STATUS_SUCCESS; - return dp_pdev_configure_monitor_rings(pdev); }