qcacmn: add flag which indicate use of monitor ring
Add a flag to indicate monitor destination being used Change-Id: Ic89f5ad2ed918fe1d894a214416866ea88f1b96a CRs-fixed: 2371551
This commit is contained in:

committed by
nshrivas

parent
71c9846f58
commit
65e6fc1a43
@@ -3221,6 +3221,7 @@ static struct cdp_pdev *dp_pdev_attach_wifi3(struct cdp_soc_t *txrx_soc,
|
|||||||
qdf_spinlock_create(&pdev->neighbour_peer_mutex);
|
qdf_spinlock_create(&pdev->neighbour_peer_mutex);
|
||||||
TAILQ_INIT(&pdev->neighbour_peers_list);
|
TAILQ_INIT(&pdev->neighbour_peers_list);
|
||||||
pdev->neighbour_peers_added = false;
|
pdev->neighbour_peers_added = false;
|
||||||
|
pdev->monitor_configured = false;
|
||||||
|
|
||||||
if (dp_soc_cmn_setup(soc)) {
|
if (dp_soc_cmn_setup(soc)) {
|
||||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,
|
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,
|
||||||
@@ -5516,6 +5517,7 @@ static QDF_STATUS dp_reset_monitor_mode(struct cdp_pdev *pdev_handle)
|
|||||||
|
|
||||||
pdev->monitor_vdev = NULL;
|
pdev->monitor_vdev = NULL;
|
||||||
pdev->mcopy_mode = 0;
|
pdev->mcopy_mode = 0;
|
||||||
|
pdev->monitor_configured = false;
|
||||||
|
|
||||||
qdf_spin_unlock_bh(&pdev->mon_lock);
|
qdf_spin_unlock_bh(&pdev->mon_lock);
|
||||||
|
|
||||||
@@ -5698,7 +5700,7 @@ static QDF_STATUS dp_vdev_set_monitor_mode(struct cdp_vdev *vdev_handle,
|
|||||||
pdev, pdev->pdev_id, pdev->soc, vdev);
|
pdev, pdev->pdev_id, pdev->soc, vdev);
|
||||||
|
|
||||||
/*Check if current pdev's monitor_vdev exists */
|
/*Check if current pdev's monitor_vdev exists */
|
||||||
if (pdev->monitor_vdev || pdev->mcopy_mode) {
|
if (pdev->monitor_configured) {
|
||||||
QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR,
|
QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR,
|
||||||
"monitor vap already created vdev=%pK\n", vdev);
|
"monitor vap already created vdev=%pK\n", vdev);
|
||||||
qdf_assert(vdev);
|
qdf_assert(vdev);
|
||||||
@@ -5706,6 +5708,7 @@ static QDF_STATUS dp_vdev_set_monitor_mode(struct cdp_vdev *vdev_handle,
|
|||||||
}
|
}
|
||||||
|
|
||||||
pdev->monitor_vdev = vdev;
|
pdev->monitor_vdev = vdev;
|
||||||
|
pdev->monitor_configured = true;
|
||||||
|
|
||||||
/* If smart monitor mode, do not configure monitor ring */
|
/* If smart monitor mode, do not configure monitor ring */
|
||||||
if (smart_monitor)
|
if (smart_monitor)
|
||||||
@@ -7652,6 +7655,7 @@ dp_config_debug_sniffer(struct cdp_pdev *pdev_handle, int val)
|
|||||||
case 0:
|
case 0:
|
||||||
pdev->tx_sniffer_enable = 0;
|
pdev->tx_sniffer_enable = 0;
|
||||||
pdev->mcopy_mode = 0;
|
pdev->mcopy_mode = 0;
|
||||||
|
pdev->monitor_configured = false;
|
||||||
|
|
||||||
if (!pdev->pktlog_ppdu_stats && !pdev->enhanced_stats_en &&
|
if (!pdev->pktlog_ppdu_stats && !pdev->enhanced_stats_en &&
|
||||||
!pdev->bpr_enable) {
|
!pdev->bpr_enable) {
|
||||||
@@ -7674,6 +7678,7 @@ dp_config_debug_sniffer(struct cdp_pdev *pdev_handle, int val)
|
|||||||
case 1:
|
case 1:
|
||||||
pdev->tx_sniffer_enable = 1;
|
pdev->tx_sniffer_enable = 1;
|
||||||
pdev->mcopy_mode = 0;
|
pdev->mcopy_mode = 0;
|
||||||
|
pdev->monitor_configured = false;
|
||||||
|
|
||||||
if (!pdev->pktlog_ppdu_stats)
|
if (!pdev->pktlog_ppdu_stats)
|
||||||
dp_h2t_cfg_stats_msg_send(pdev,
|
dp_h2t_cfg_stats_msg_send(pdev,
|
||||||
@@ -7687,6 +7692,7 @@ dp_config_debug_sniffer(struct cdp_pdev *pdev_handle, int val)
|
|||||||
|
|
||||||
pdev->mcopy_mode = 1;
|
pdev->mcopy_mode = 1;
|
||||||
dp_pdev_configure_monitor_rings(pdev);
|
dp_pdev_configure_monitor_rings(pdev);
|
||||||
|
pdev->monitor_configured = true;
|
||||||
pdev->tx_sniffer_enable = 0;
|
pdev->tx_sniffer_enable = 0;
|
||||||
|
|
||||||
if (!pdev->pktlog_ppdu_stats)
|
if (!pdev->pktlog_ppdu_stats)
|
||||||
|
@@ -1201,6 +1201,9 @@ struct dp_pdev {
|
|||||||
/*tx_mutex for me*/
|
/*tx_mutex for me*/
|
||||||
DP_MUTEX_TYPE tx_mutex;
|
DP_MUTEX_TYPE tx_mutex;
|
||||||
|
|
||||||
|
/* monitor */
|
||||||
|
bool monitor_configured;
|
||||||
|
|
||||||
/* Smart Mesh */
|
/* Smart Mesh */
|
||||||
bool filter_neighbour_peers;
|
bool filter_neighbour_peers;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user