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
This commit is contained in:
@@ -5894,7 +5894,7 @@ static QDF_STATUS dp_pdev_configure_monitor_rings(struct dp_pdev *pdev)
|
|||||||
* Return: 0 on success, not 0 on failure
|
* Return: 0 on success, not 0 on failure
|
||||||
*/
|
*/
|
||||||
static QDF_STATUS dp_vdev_set_monitor_mode(struct cdp_vdev *vdev_handle,
|
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_vdev *vdev = (struct dp_vdev *)vdev_handle;
|
||||||
struct dp_pdev *pdev;
|
struct dp_pdev *pdev;
|
||||||
@@ -5902,10 +5902,21 @@ static QDF_STATUS dp_vdev_set_monitor_mode(struct cdp_vdev *vdev_handle,
|
|||||||
qdf_assert(vdev);
|
qdf_assert(vdev);
|
||||||
|
|
||||||
pdev = vdev->pdev;
|
pdev = vdev->pdev;
|
||||||
|
pdev->monitor_vdev = vdev;
|
||||||
QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_WARN,
|
QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_WARN,
|
||||||
"pdev=%pK, pdev_id=%d, soc=%pK vdev=%pK\n",
|
"pdev=%pK, pdev_id=%d, soc=%pK vdev=%pK\n",
|
||||||
pdev, pdev->pdev_id, pdev->soc, vdev);
|
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 */
|
/*Check if current pdev's monitor_vdev exists */
|
||||||
if (pdev->monitor_configured) {
|
if (pdev->monitor_configured) {
|
||||||
QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR,
|
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;
|
return QDF_STATUS_E_RESOURCES;
|
||||||
}
|
}
|
||||||
|
|
||||||
pdev->monitor_vdev = vdev;
|
|
||||||
pdev->monitor_configured = true;
|
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);
|
return dp_pdev_configure_monitor_rings(pdev);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user