diff --git a/mlme/core/inc/wlan_mlme_vdev_mgr_interface.h b/mlme/core/inc/wlan_mlme_vdev_mgr_interface.h index 7722ef009c..7c5aa13022 100644 --- a/mlme/core/inc/wlan_mlme_vdev_mgr_interface.h +++ b/mlme/core/inc/wlan_mlme_vdev_mgr_interface.h @@ -279,4 +279,12 @@ enum vdev_assoc_type mlme_get_assoc_type(struct wlan_objmgr_vdev *vdev); */ QDF_STATUS mlme_vdev_create_send(struct wlan_objmgr_vdev *vdev); +/** + * mlme_vdev_self_peer_create() - function to send the vdev create self peer + * @vdev: vdev pointer + * + * Return: QDF_STATUS_SUCCESS when the self peer is successfully created + * to firmware or QDF_STATUS_E_** when there is a failure. + */ +QDF_STATUS mlme_vdev_self_peer_create(struct wlan_objmgr_vdev *vdev); #endif diff --git a/mlme/core/src/wlan_mlme_vdev_mgr_interface.c b/mlme/core/src/wlan_mlme_vdev_mgr_interface.c index 4712b8558f..6bf45db7ba 100644 --- a/mlme/core/src/wlan_mlme_vdev_mgr_interface.c +++ b/mlme/core/src/wlan_mlme_vdev_mgr_interface.c @@ -1201,6 +1201,20 @@ return_status: return status; } +QDF_STATUS mlme_vdev_self_peer_create(struct wlan_objmgr_vdev *vdev) +{ + struct vdev_mlme_obj *vdev_mlme; + + vdev_mlme = wlan_vdev_mlme_get_cmpt_obj(vdev); + if (!vdev_mlme) { + mlme_err("Failed to get vdev mlme obj for vdev id %d", + wlan_vdev_get_id(vdev)); + return QDF_STATUS_E_INVAL; + } + + return wma_vdev_self_peer_create(vdev_mlme); +} + /** * struct sta_mlme_ops - VDEV MLME operation callbacks strucutre for sta * @mlme_vdev_start_send: callback to initiate actions of VDEV