qcacmn: Avoid exchanging dp handles with non dp modules

Corresponding changes in datapath for avoiding storage
of dp handles in umac objects.

Change-Id: I61ba9cca9a10cc7e3d618c7f1ec384dda2e85132
This commit is contained in:
Pavankumar Nandeshwar
2020-01-10 16:21:11 +05:30
committed by nshrivas
parent 75d112497b
commit 61ec40476d
3 changed files with 67 additions and 40 deletions

View File

@@ -127,7 +127,7 @@ cdp_soc_attach_target(ol_txrx_soc_handle soc)
} }
static inline struct cdp_vdev * static inline QDF_STATUS
cdp_vdev_attach(ol_txrx_soc_handle soc, uint8_t pdev_id, cdp_vdev_attach(ol_txrx_soc_handle soc, uint8_t pdev_id,
uint8_t *vdev_mac_addr, uint8_t vdev_id, uint8_t *vdev_mac_addr, uint8_t vdev_id,
enum wlan_op_mode op_mode, enum wlan_op_subtype subtype) enum wlan_op_mode op_mode, enum wlan_op_subtype subtype)
@@ -136,12 +136,12 @@ cdp_vdev_attach(ol_txrx_soc_handle soc, uint8_t pdev_id,
QDF_TRACE(QDF_MODULE_ID_CDP, QDF_TRACE_LEVEL_DEBUG, QDF_TRACE(QDF_MODULE_ID_CDP, QDF_TRACE_LEVEL_DEBUG,
"%s: Invalid Instance:", __func__); "%s: Invalid Instance:", __func__);
QDF_BUG(0); QDF_BUG(0);
return NULL; return QDF_STATUS_E_FAILURE;
} }
if (!soc->ops->cmn_drv_ops || if (!soc->ops->cmn_drv_ops ||
!soc->ops->cmn_drv_ops->txrx_vdev_attach) !soc->ops->cmn_drv_ops->txrx_vdev_attach)
return NULL; return QDF_STATUS_E_FAILURE;
return soc->ops->cmn_drv_ops->txrx_vdev_attach(soc, pdev_id, return soc->ops->cmn_drv_ops->txrx_vdev_attach(soc, pdev_id,
vdev_mac_addr, vdev_id, vdev_mac_addr, vdev_id,
@@ -242,7 +242,7 @@ cdp_pdev_attach_target(ol_txrx_soc_handle soc, uint8_t pdev_id)
return soc->ops->cmn_drv_ops->txrx_pdev_attach_target(soc, pdev_id); return soc->ops->cmn_drv_ops->txrx_pdev_attach_target(soc, pdev_id);
} }
static inline struct cdp_pdev *cdp_pdev_attach static inline QDF_STATUS cdp_pdev_attach
(ol_txrx_soc_handle soc, HTC_HANDLE htc_pdev, qdf_device_t osdev, (ol_txrx_soc_handle soc, HTC_HANDLE htc_pdev, qdf_device_t osdev,
uint8_t pdev_id) uint8_t pdev_id)
{ {
@@ -250,12 +250,12 @@ static inline struct cdp_pdev *cdp_pdev_attach
QDF_TRACE(QDF_MODULE_ID_CDP, QDF_TRACE_LEVEL_DEBUG, QDF_TRACE(QDF_MODULE_ID_CDP, QDF_TRACE_LEVEL_DEBUG,
"%s: Invalid Instance:", __func__); "%s: Invalid Instance:", __func__);
QDF_BUG(0); QDF_BUG(0);
return NULL; return QDF_STATUS_E_FAILURE;
} }
if (!soc->ops->cmn_drv_ops || if (!soc->ops->cmn_drv_ops ||
!soc->ops->cmn_drv_ops->txrx_pdev_attach) !soc->ops->cmn_drv_ops->txrx_pdev_attach)
return NULL; return QDF_STATUS_E_FAILURE;
return soc->ops->cmn_drv_ops->txrx_pdev_attach(soc, htc_pdev, osdev, return soc->ops->cmn_drv_ops->txrx_pdev_attach(soc, htc_pdev, osdev,
pdev_id); pdev_id);
@@ -351,7 +351,7 @@ cdp_pdev_deinit(ol_txrx_soc_handle soc, uint8_t pdev_id, int force)
soc->ops->cmn_drv_ops->txrx_pdev_deinit(soc, pdev_id, force); soc->ops->cmn_drv_ops->txrx_pdev_deinit(soc, pdev_id, force);
} }
static inline void *cdp_peer_create static inline QDF_STATUS cdp_peer_create
(ol_txrx_soc_handle soc, uint8_t vdev_id, (ol_txrx_soc_handle soc, uint8_t vdev_id,
uint8_t *peer_mac_addr) uint8_t *peer_mac_addr)
{ {
@@ -359,12 +359,12 @@ static inline void *cdp_peer_create
QDF_TRACE(QDF_MODULE_ID_CDP, QDF_TRACE_LEVEL_DEBUG, QDF_TRACE(QDF_MODULE_ID_CDP, QDF_TRACE_LEVEL_DEBUG,
"%s: Invalid Instance:", __func__); "%s: Invalid Instance:", __func__);
QDF_BUG(0); QDF_BUG(0);
return NULL; return QDF_STATUS_E_FAILURE;
} }
if (!soc->ops->cmn_drv_ops || if (!soc->ops->cmn_drv_ops ||
!soc->ops->cmn_drv_ops->txrx_peer_create) !soc->ops->cmn_drv_ops->txrx_peer_create)
return NULL; return QDF_STATUS_E_FAILURE;
return soc->ops->cmn_drv_ops->txrx_peer_create(soc, vdev_id, return soc->ops->cmn_drv_ops->txrx_peer_create(soc, vdev_id,
peer_mac_addr); peer_mac_addr);

View File

@@ -69,7 +69,7 @@ struct cdp_cmn_ops {
int (*txrx_pdev_attach_target)(ol_txrx_soc_handle soc, uint8_t pdev_id); int (*txrx_pdev_attach_target)(ol_txrx_soc_handle soc, uint8_t pdev_id);
struct cdp_vdev *(*txrx_vdev_attach) QDF_STATUS (*txrx_vdev_attach)
(struct cdp_soc_t *soc, uint8_t pdev_id, uint8_t *mac, (struct cdp_soc_t *soc, uint8_t pdev_id, uint8_t *mac,
uint8_t vdev_id, enum wlan_op_mode op_mode, uint8_t vdev_id, enum wlan_op_mode op_mode,
enum wlan_op_subtype subtype); enum wlan_op_subtype subtype);
@@ -79,7 +79,7 @@ struct cdp_cmn_ops {
ol_txrx_vdev_delete_cb callback, ol_txrx_vdev_delete_cb callback,
void *cb_context); void *cb_context);
struct cdp_pdev *(*txrx_pdev_attach) QDF_STATUS (*txrx_pdev_attach)
(ol_txrx_soc_handle soc, HTC_HANDLE htc_pdev, (ol_txrx_soc_handle soc, HTC_HANDLE htc_pdev,
qdf_device_t osdev, uint8_t pdev_id); qdf_device_t osdev, uint8_t pdev_id);
@@ -105,7 +105,8 @@ struct cdp_cmn_ops {
(*txrx_pdev_deinit)(struct cdp_soc_t *soc, uint8_t pdev_id, (*txrx_pdev_deinit)(struct cdp_soc_t *soc, uint8_t pdev_id,
int force); int force);
void *(*txrx_peer_create) QDF_STATUS
(*txrx_peer_create)
(ol_txrx_soc_handle soc, uint8_t vdev_id, (ol_txrx_soc_handle soc, uint8_t vdev_id,
uint8_t *peer_mac_addr); uint8_t *peer_mac_addr);

View File

@@ -146,7 +146,7 @@ dp_soc_attach(struct cdp_ctrl_objmgr_psoc *ctrl_psoc, HTC_HANDLE htc_handle,
qdf_device_t qdf_osdev, qdf_device_t qdf_osdev,
struct ol_if_ops *ol_ops, uint16_t device_id); struct ol_if_ops *ol_ops, uint16_t device_id);
static void dp_pktlogmod_exit(struct dp_pdev *handle); static void dp_pktlogmod_exit(struct dp_pdev *handle);
static inline void *dp_peer_create_wifi3(struct cdp_soc_t *soc_hdl, static inline QDF_STATUS dp_peer_create_wifi3(struct cdp_soc_t *soc_hdl,
uint8_t vdev_id, uint8_t vdev_id,
uint8_t *peer_mac_addr); uint8_t *peer_mac_addr);
static QDF_STATUS dp_peer_delete_wifi3(struct cdp_soc_t *soc, uint8_t vdev_id, static QDF_STATUS dp_peer_delete_wifi3(struct cdp_soc_t *soc, uint8_t vdev_id,
@@ -3521,10 +3521,12 @@ static QDF_STATUS dp_htt_ppdu_stats_attach(struct dp_pdev *pdev)
* @qdf_osdev: QDF OS device * @qdf_osdev: QDF OS device
* @pdev_id: PDEV ID * @pdev_id: PDEV ID
* *
* Return: DP PDEV handle on success, NULL on failure * Return: QDF_STATUS
*/ */
static struct cdp_pdev *dp_pdev_attach_wifi3(struct cdp_soc_t *txrx_soc, static inline QDF_STATUS dp_pdev_attach_wifi3(struct cdp_soc_t *txrx_soc,
HTC_HANDLE htc_handle, qdf_device_t qdf_osdev, uint8_t pdev_id) HTC_HANDLE htc_handle,
qdf_device_t qdf_osdev,
uint8_t pdev_id)
{ {
int ring_size; int ring_size;
int entries; int entries;
@@ -3533,6 +3535,7 @@ static struct cdp_pdev *dp_pdev_attach_wifi3(struct cdp_soc_t *txrx_soc,
void *sojourn_buf; void *sojourn_buf;
struct dp_soc *soc = (struct dp_soc *)txrx_soc; struct dp_soc *soc = (struct dp_soc *)txrx_soc;
struct dp_pdev *pdev = NULL; struct dp_pdev *pdev = NULL;
QDF_STATUS ret;
if (dp_is_soc_reinit(soc)) { if (dp_is_soc_reinit(soc)) {
pdev = soc->pdev_list[pdev_id]; pdev = soc->pdev_list[pdev_id];
@@ -3544,6 +3547,7 @@ static struct cdp_pdev *dp_pdev_attach_wifi3(struct cdp_soc_t *txrx_soc,
if (!pdev) { if (!pdev) {
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR, QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,
FL("DP PDEV memory allocation failed")); FL("DP PDEV memory allocation failed"));
ret = QDF_STATUS_E_NOMEM;
goto fail0; goto fail0;
} }
@@ -3558,6 +3562,7 @@ static struct cdp_pdev *dp_pdev_attach_wifi3(struct cdp_soc_t *txrx_soc,
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR, QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,
FL("Invalid peer memory allocation failed")); FL("Invalid peer memory allocation failed"));
qdf_mem_free(pdev); qdf_mem_free(pdev);
ret = QDF_STATUS_E_NOMEM;
goto fail0; goto fail0;
} }
@@ -3570,6 +3575,7 @@ static struct cdp_pdev *dp_pdev_attach_wifi3(struct cdp_soc_t *txrx_soc,
qdf_mem_free(pdev->invalid_peer); qdf_mem_free(pdev->invalid_peer);
qdf_mem_free(pdev); qdf_mem_free(pdev);
ret = QDF_STATUS_E_FAILURE;
goto fail0; goto fail0;
} }
@@ -3600,6 +3606,7 @@ static struct cdp_pdev *dp_pdev_attach_wifi3(struct cdp_soc_t *txrx_soc,
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,
FL("dp_soc_cmn_setup failed")); FL("dp_soc_cmn_setup failed"));
ret = QDF_STATUS_E_FAILURE;
goto fail1; goto fail1;
} }
@@ -3612,6 +3619,7 @@ static struct cdp_pdev *dp_pdev_attach_wifi3(struct cdp_soc_t *txrx_soc,
pdev_id, pdev_id, ring_size, 0)) { pdev_id, pdev_id, ring_size, 0)) {
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR, QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,
FL("dp_srng_setup failed for tcl_data_ring")); FL("dp_srng_setup failed for tcl_data_ring"));
ret = QDF_STATUS_E_FAILURE;
goto fail1; goto fail1;
} }
@@ -3623,6 +3631,7 @@ static struct cdp_pdev *dp_pdev_attach_wifi3(struct cdp_soc_t *txrx_soc,
ring_size, 0)) { ring_size, 0)) {
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR, QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,
FL("dp_srng_setup failed for tx_comp_ring")); FL("dp_srng_setup failed for tx_comp_ring"));
ret = QDF_STATUS_E_FAILURE;
goto fail1; goto fail1;
} }
soc->num_tcl_data_rings++; soc->num_tcl_data_rings++;
@@ -3632,6 +3641,7 @@ static struct cdp_pdev *dp_pdev_attach_wifi3(struct cdp_soc_t *txrx_soc,
if (dp_tx_pdev_attach(pdev)) { if (dp_tx_pdev_attach(pdev)) {
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR, QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,
FL("dp_tx_pdev_attach failed")); FL("dp_tx_pdev_attach failed"));
ret = QDF_STATUS_E_FAILURE;
goto fail1; goto fail1;
} }
@@ -3642,6 +3652,7 @@ static struct cdp_pdev *dp_pdev_attach_wifi3(struct cdp_soc_t *txrx_soc,
pdev_id, pdev_id, ring_size, 0)) { pdev_id, pdev_id, ring_size, 0)) {
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR, QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,
FL("dp_srng_setup failed for reo_dest_ringn")); FL("dp_srng_setup failed for reo_dest_ringn"));
ret = QDF_STATUS_E_FAILURE;
goto fail1; goto fail1;
} }
soc->num_reo_dest_rings++; soc->num_reo_dest_rings++;
@@ -3654,18 +3665,21 @@ static struct cdp_pdev *dp_pdev_attach_wifi3(struct cdp_soc_t *txrx_soc,
RXDMA_BUF, 0, pdev->lmac_id, ring_size, 0)) { RXDMA_BUF, 0, pdev->lmac_id, ring_size, 0)) {
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR, QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,
FL("dp_srng_setup failed rx refill ring")); FL("dp_srng_setup failed rx refill ring"));
ret = QDF_STATUS_E_FAILURE;
goto fail1; goto fail1;
} }
if (dp_rxdma_ring_setup(soc, pdev)) { if (dp_rxdma_ring_setup(soc, pdev)) {
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR, QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,
FL("RXDMA ring config failed")); FL("RXDMA ring config failed"));
ret = QDF_STATUS_E_FAILURE;
goto fail1; goto fail1;
} }
if (dp_mon_rings_setup(soc, pdev)) { if (dp_mon_rings_setup(soc, pdev)) {
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR, QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,
FL("MONITOR rings setup failed")); FL("MONITOR rings setup failed"));
ret = QDF_STATUS_E_FAILURE;
goto fail1; goto fail1;
} }
@@ -3677,19 +3691,25 @@ static struct cdp_pdev *dp_pdev_attach_wifi3(struct cdp_soc_t *txrx_soc,
0, pdev->lmac_id, entries, 0)) { 0, pdev->lmac_id, entries, 0)) {
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR, QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,
FL(RNG_ERR "rxdma_err_dst_ring")); FL(RNG_ERR "rxdma_err_dst_ring"));
ret = QDF_STATUS_E_FAILURE;
goto fail1; goto fail1;
} }
} }
if (dp_setup_ipa_rx_refill_buf_ring(soc, pdev)) if (dp_setup_ipa_rx_refill_buf_ring(soc, pdev)) {
ret = QDF_STATUS_E_FAILURE;
goto fail1; goto fail1;
}
if (dp_ipa_ring_resource_setup(soc, pdev)) if (dp_ipa_ring_resource_setup(soc, pdev)) {
ret = QDF_STATUS_E_FAILURE;
goto fail1; goto fail1;
}
if (dp_ipa_uc_attach(soc, pdev) != QDF_STATUS_SUCCESS) { if (dp_ipa_uc_attach(soc, pdev) != QDF_STATUS_SUCCESS) {
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR, QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,
FL("dp_ipa_uc_attach failed")); FL("dp_ipa_uc_attach failed"));
ret = QDF_STATUS_E_FAILURE;
goto fail1; goto fail1;
} }
@@ -3697,6 +3717,7 @@ static struct cdp_pdev *dp_pdev_attach_wifi3(struct cdp_soc_t *txrx_soc,
if (dp_rx_pdev_attach(pdev)) { if (dp_rx_pdev_attach(pdev)) {
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR, QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,
FL("dp_rx_pdev_attach failed")); FL("dp_rx_pdev_attach failed"));
ret = QDF_STATUS_E_FAILURE;
goto fail2; goto fail2;
} }
@@ -3720,12 +3741,14 @@ static struct cdp_pdev *dp_pdev_attach_wifi3(struct cdp_soc_t *txrx_soc,
if (dp_rx_pdev_mon_attach(pdev)) { if (dp_rx_pdev_mon_attach(pdev)) {
QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR, QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR,
"dp_rx_pdev_mon_attach failed"); "dp_rx_pdev_mon_attach failed");
ret = QDF_STATUS_E_FAILURE;
goto fail2; goto fail2;
} }
if (dp_wdi_event_attach(pdev)) { if (dp_wdi_event_attach(pdev)) {
QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR, QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR,
"dp_wdi_evet_attach failed"); "dp_wdi_evet_attach failed");
ret = QDF_STATUS_E_FAILURE;
goto wdi_attach_fail; goto wdi_attach_fail;
} }
@@ -3760,12 +3783,14 @@ static struct cdp_pdev *dp_pdev_attach_wifi3(struct cdp_soc_t *txrx_soc,
dp_init_tso_stats(pdev); dp_init_tso_stats(pdev);
if (dp_htt_ppdu_stats_attach(pdev) != QDF_STATUS_SUCCESS) if (dp_htt_ppdu_stats_attach(pdev) != QDF_STATUS_SUCCESS) {
ret = QDF_STATUS_E_FAILURE;
goto fail1; goto fail1;
}
dp_tx_ppdu_stats_attach(pdev); dp_tx_ppdu_stats_attach(pdev);
return (struct cdp_pdev *)pdev; return QDF_STATUS_SUCCESS;
wdi_attach_fail: wdi_attach_fail:
/* /*
@@ -3783,7 +3808,7 @@ fail1:
dp_pdev_detach((struct cdp_pdev *)pdev, 0); dp_pdev_detach((struct cdp_pdev *)pdev, 0);
fail0: fail0:
return NULL; return ret;
} }
/* /*
@@ -4889,9 +4914,9 @@ dp_soc_attach_target_wifi3(struct cdp_soc_t *cdp_soc)
* @wlan_op_mode: VDEV operating mode * @wlan_op_mode: VDEV operating mode
* @subtype: VDEV operating subtype * @subtype: VDEV operating subtype
* *
* Return: DP VDEV handle on success, NULL on failure * Return: status
*/ */
static struct cdp_vdev *dp_vdev_attach_wifi3(struct cdp_soc_t *cdp_soc, static QDF_STATUS dp_vdev_attach_wifi3(struct cdp_soc_t *cdp_soc,
uint8_t pdev_id, uint8_t pdev_id,
uint8_t *vdev_mac_addr, uint8_t *vdev_mac_addr,
uint8_t vdev_id, uint8_t vdev_id,
@@ -4960,7 +4985,7 @@ static struct cdp_vdev *dp_vdev_attach_wifi3(struct cdp_soc_t *cdp_soc,
if (wlan_op_mode_monitor == vdev->opmode) { if (wlan_op_mode_monitor == vdev->opmode) {
pdev->monitor_vdev = vdev; pdev->monitor_vdev = vdev;
return (struct cdp_vdev *)vdev; return QDF_STATUS_SUCCESS;
} }
vdev->tx_encap_type = wlan_cfg_pkt_type(soc->wlan_cfg_ctx); vdev->tx_encap_type = wlan_cfg_pkt_type(soc->wlan_cfg_ctx);
@@ -4997,10 +5022,10 @@ static struct cdp_vdev *dp_vdev_attach_wifi3(struct cdp_soc_t *cdp_soc,
dp_peer_create_wifi3((struct cdp_soc_t *)soc, vdev_id, dp_peer_create_wifi3((struct cdp_soc_t *)soc, vdev_id,
vdev->mac_addr.raw); vdev->mac_addr.raw);
return (struct cdp_vdev *)vdev; return QDF_STATUS_SUCCESS;
fail0: fail0:
return NULL; return QDF_STATUS_E_FAILURE;
} }
/** /**
@@ -5404,9 +5429,10 @@ static inline void dp_set_ignore_reo_status_cb(struct dp_soc *soc,
* @vdev_id: id of vdev * @vdev_id: id of vdev
* @peer_mac_addr: Peer MAC address * @peer_mac_addr: Peer MAC address
* *
* Return: DP peeer handle on success, NULL on failure * Return: 0 on success, -1 on failure
*/ */
static void *dp_peer_create_wifi3(struct cdp_soc_t *soc_hdl, uint8_t vdev_id, static QDF_STATUS
dp_peer_create_wifi3(struct cdp_soc_t *soc_hdl, uint8_t vdev_id,
uint8_t *peer_mac_addr) uint8_t *peer_mac_addr)
{ {
struct dp_peer *peer; struct dp_peer *peer;
@@ -5418,7 +5444,7 @@ static void *dp_peer_create_wifi3(struct cdp_soc_t *soc_hdl, uint8_t vdev_id,
struct dp_vdev *vdev = dp_get_vdev_from_soc_vdev_id_wifi3(soc, vdev_id); struct dp_vdev *vdev = dp_get_vdev_from_soc_vdev_id_wifi3(soc, vdev_id);
if (!vdev || !peer_mac_addr) if (!vdev || !peer_mac_addr)
return NULL; return QDF_STATUS_E_FAILURE;
pdev = vdev->pdev; pdev = vdev->pdev;
soc = pdev->soc; soc = pdev->soc;
@@ -5467,7 +5493,7 @@ static void *dp_peer_create_wifi3(struct cdp_soc_t *soc_hdl, uint8_t vdev_id,
DP_STATS_INIT(peer); DP_STATS_INIT(peer);
DP_STATS_UPD(peer, rx.avg_rssi, INVALID_RSSI); DP_STATS_UPD(peer, rx.avg_rssi, INVALID_RSSI);
return (void *)peer; return QDF_STATUS_SUCCESS;
} else { } else {
/* /*
* When a STA roams from RPTR AP to ROOT AP and vice versa, we * When a STA roams from RPTR AP to ROOT AP and vice versa, we
@@ -5487,7 +5513,7 @@ static void *dp_peer_create_wifi3(struct cdp_soc_t *soc_hdl, uint8_t vdev_id,
#endif #endif
if (!peer) if (!peer)
return NULL; /* failure */ return QDF_STATUS_E_FAILURE; /* failure */
qdf_mem_zero(peer, sizeof(struct dp_peer)); qdf_mem_zero(peer, sizeof(struct dp_peer));
@@ -5587,7 +5613,7 @@ static void *dp_peer_create_wifi3(struct cdp_soc_t *soc_hdl, uint8_t vdev_id,
peer_cookie.ctx; peer_cookie.ctx;
} }
} }
return (void *)peer; return QDF_STATUS_SUCCESS;
} }
/* /*