qcacmn: Disable monitor peer attach when feature is disabled

Currently there is an attempt to allocate monitor
peer even when the feature is disabled, thereby leading
to an attempt to allocate 0 bytes. the failure in this
allocation propagates back and prints an error message
which can be misleading.

Disable monitor peer attach when the below feature is disabled.
- WLAN_TX_PKT_CAPTURE_ENH
- FEATURE_PERPKT_INFO

Change-Id: Ifc6ba1421da0f569971fafa530bbcd3dbaa16b87
CRs-Fixed: 3036720
This commit is contained in:
Rakesh Pillai
2021-09-15 05:13:42 -07:00
committed by Madan Koyyalamudi
parent 99e7db2551
commit 157f4c7c51
2 changed files with 11 additions and 8 deletions

View File

@@ -5760,6 +5760,7 @@ static QDF_STATUS dp_mon_vdev_detach(struct dp_vdev *vdev)
return QDF_STATUS_SUCCESS; return QDF_STATUS_SUCCESS;
} }
#if defined(WLAN_TX_PKT_CAPTURE_ENH) || defined(FEATURE_PERPKT_INFO)
static QDF_STATUS dp_mon_peer_attach(struct dp_peer *peer) static QDF_STATUS dp_mon_peer_attach(struct dp_peer *peer)
{ {
struct dp_mon_peer *mon_peer; struct dp_mon_peer *mon_peer;
@@ -5782,6 +5783,12 @@ static QDF_STATUS dp_mon_peer_attach(struct dp_peer *peer)
return QDF_STATUS_SUCCESS; return QDF_STATUS_SUCCESS;
} }
#else
static QDF_STATUS dp_mon_peer_attach(struct dp_peer *peer)
{
return QDF_STATUS_SUCCESS;
}
#endif
static QDF_STATUS dp_mon_peer_detach(struct dp_peer *peer) static QDF_STATUS dp_mon_peer_detach(struct dp_peer *peer)
{ {

View File

@@ -42,14 +42,6 @@
#define dp_mon_debug(params...) QDF_TRACE_DEBUG(QDF_MODULE_ID_MON, params) #define dp_mon_debug(params...) QDF_TRACE_DEBUG(QDF_MODULE_ID_MON, params)
#define dp_mon_warn(params...) QDF_TRACE_WARN(QDF_MODULE_ID_MON, params) #define dp_mon_warn(params...) QDF_TRACE_WARN(QDF_MODULE_ID_MON, params)
#ifndef WLAN_TX_PKT_CAPTURE_ENH
struct dp_pdev_tx_capture {
};
struct dp_peer_tx_capture {
};
#endif
struct dp_mon_ops { struct dp_mon_ops {
QDF_STATUS (*mon_soc_cfg_init)(struct dp_soc *soc); QDF_STATUS (*mon_soc_cfg_init)(struct dp_soc *soc);
QDF_STATUS (*mon_pdev_attach)(struct dp_pdev *pdev); QDF_STATUS (*mon_pdev_attach)(struct dp_pdev *pdev);
@@ -215,7 +207,9 @@ struct dp_mon_pdev {
uint16_t mo_data_filter; uint16_t mo_data_filter;
uint16_t md_data_filter; uint16_t md_data_filter;
#ifdef WLAN_TX_PKT_CAPTURE_ENH
struct dp_pdev_tx_capture tx_capture; struct dp_pdev_tx_capture tx_capture;
#endif
/* tx packet capture enhancement */ /* tx packet capture enhancement */
enum cdp_tx_enh_capture_mode tx_capture_enabled; enum cdp_tx_enh_capture_mode tx_capture_enabled;
@@ -383,7 +377,9 @@ struct dp_mon_vdev {
}; };
struct dp_mon_peer { struct dp_mon_peer {
#ifdef WLAN_TX_PKT_CAPTURE_ENH
struct dp_peer_tx_capture tx_capture; struct dp_peer_tx_capture tx_capture;
#endif
#ifdef FEATURE_PERPKT_INFO #ifdef FEATURE_PERPKT_INFO
/* delayed ba ppdu stats handling */ /* delayed ba ppdu stats handling */
struct cdp_delayed_tx_completion_ppdu_user delayed_ba_ppdu_stats; struct cdp_delayed_tx_completion_ppdu_user delayed_ba_ppdu_stats;