qcacmn: Move deletion of datapath vdev to vdev destroy handler
Move dp vdev detach flow to vdev destroy handler from vdev delete sequence. Change-Id: I727d70e77f8e913ca732b6ae56c60049161547de
This commit is contained in:
@@ -30,6 +30,7 @@
|
||||
#include "wlan_vdev_mlme_api.h"
|
||||
#include "wlan_serialization_api.h"
|
||||
#include "wlan_utility.h"
|
||||
#include <cdp_txrx_cmn.h>
|
||||
|
||||
static QDF_STATUS mlme_vdev_obj_create_handler(struct wlan_objmgr_vdev *vdev,
|
||||
void *arg)
|
||||
@@ -106,6 +107,9 @@ static QDF_STATUS mlme_vdev_obj_destroy_handler(struct wlan_objmgr_vdev *vdev,
|
||||
void *arg)
|
||||
{
|
||||
struct vdev_mlme_obj *vdev_mlme;
|
||||
struct wlan_objmgr_psoc *psoc;
|
||||
struct cdp_soc_t *soc_txrx_handle;
|
||||
struct cdp_vdev *vdev_txrx_handle;
|
||||
|
||||
if (!vdev) {
|
||||
mlme_err(" VDEV is NULL");
|
||||
@@ -118,6 +122,15 @@ static QDF_STATUS mlme_vdev_obj_destroy_handler(struct wlan_objmgr_vdev *vdev,
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
psoc = wlan_vdev_get_psoc(vdev);
|
||||
soc_txrx_handle = (struct cdp_soc_t *)wlan_psoc_get_dp_handle(psoc);
|
||||
vdev_txrx_handle = wlan_vdev_get_dp_handle(vdev);
|
||||
if (soc_txrx_handle && vdev_txrx_handle) {
|
||||
wlan_vdev_set_dp_handle(vdev, NULL);
|
||||
cdp_vdev_detach(soc_txrx_handle, vdev_txrx_handle,
|
||||
NULL, NULL);
|
||||
}
|
||||
|
||||
mlme_vdev_sm_destroy(vdev_mlme);
|
||||
|
||||
mlme_vdev_ops_ext_hdl_destroy(vdev_mlme);
|
||||
|
@@ -202,9 +202,6 @@ QDF_STATUS tgt_vdev_mgr_delete_send(
|
||||
QDF_STATUS status;
|
||||
struct wlan_lmac_if_mlme_tx_ops *txops;
|
||||
struct wlan_objmgr_vdev *vdev;
|
||||
struct wlan_objmgr_psoc *psoc;
|
||||
ol_txrx_soc_handle soc_txrx_handle;
|
||||
struct cdp_vdev *vdev_txrx_handle;
|
||||
uint8_t vdev_id;
|
||||
|
||||
if (!param) {
|
||||
@@ -220,15 +217,6 @@ QDF_STATUS tgt_vdev_mgr_delete_send(
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
psoc = wlan_vdev_get_psoc(vdev);
|
||||
soc_txrx_handle = wlan_psoc_get_dp_handle(psoc);
|
||||
vdev_txrx_handle = wlan_vdev_get_dp_handle(vdev);
|
||||
if (soc_txrx_handle && vdev_txrx_handle) {
|
||||
wlan_vdev_set_dp_handle(vdev, NULL);
|
||||
cdp_vdev_detach(soc_txrx_handle, vdev_txrx_handle,
|
||||
NULL, NULL);
|
||||
}
|
||||
|
||||
status = txops->vdev_delete_send(vdev, param);
|
||||
if (QDF_IS_STATUS_ERROR(status))
|
||||
mlme_err("VDEV_%d: Tx Ops Error : %d", vdev_id, status);
|
||||
|
مرجع در شماره جدید
Block a user