qcacmn: Reset MON_BUF ring filters only when monitor mode is enabled

When enhanced stats are enabled/disabled, dp_mon_filter_update () API
sets/resets MON_BUF ring filters also, this is leading to connection issues
traffic stall on Rx side

Set/Reset MON_BUF ring filters when monitor mode is enabled

Change-Id: I0de7be81465b11224b95c0918b4e8c8e339e3802
This commit is contained in:
Amir Patel
2021-04-24 20:51:58 +05:30
committed by Madan Koyyalamudi
parent 49846e25ef
commit ef543f271e
2 changed files with 8 additions and 5 deletions

View File

@@ -7029,13 +7029,13 @@ static int dp_update_filter_neighbour_peers(struct cdp_soc_t *soc_hdl,
if (TAILQ_EMPTY(&pdev->neighbour_peers_list)) {
QDF_STATUS status = QDF_STATUS_SUCCESS;
pdev->neighbour_peers_added = false;
dp_mon_filter_reset_smart_monitor(pdev);
status = dp_mon_filter_update(pdev);
if (status != QDF_STATUS_SUCCESS) {
dp_cdp_err("%pK: smart mon filter clear failed",
soc);
}
pdev->neighbour_peers_added = false;
}
@@ -7661,7 +7661,6 @@ static inline void
dp_pdev_disable_mcopy_code(struct dp_pdev *pdev)
{
pdev->mcopy_mode = M_COPY_DISABLED;
pdev->monitor_configured = false;
pdev->monitor_vdev = NULL;
}
@@ -7689,7 +7688,6 @@ QDF_STATUS dp_reset_monitor_mode(struct cdp_soc_t *soc_hdl,
dp_soc_config_full_mon_mode(pdev, DP_FULL_MON_DISABLE);
pdev->monitor_vdev = NULL;
pdev->monitor_configured = false;
/*
* Lite monitor mode, smart monitor mode and monitor
@@ -7713,6 +7711,7 @@ QDF_STATUS dp_reset_monitor_mode(struct cdp_soc_t *soc_hdl,
dp_rx_mon_dest_err("%pK: Failed to reset monitor filters",
soc);
}
pdev->monitor_configured = false;
qdf_spin_unlock_bh(&pdev->mon_lock);
return QDF_STATUS_SUCCESS;
@@ -8925,6 +8924,7 @@ dp_config_debug_sniffer(struct dp_pdev *pdev, int val)
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,
FL("Failed to reset AM copy mode filters"));
}
pdev->monitor_configured = false;
#endif /* FEATURE_PERPKT_INFO */
}
switch (val) {