diff --git a/umac/mlme/vdev_mgr/dispatcher/inc/wlan_vdev_mlme_api.h b/umac/mlme/vdev_mgr/dispatcher/inc/wlan_vdev_mlme_api.h index 4e9c31e0b9..278da74f59 100644 --- a/umac/mlme/vdev_mgr/dispatcher/inc/wlan_vdev_mlme_api.h +++ b/umac/mlme/vdev_mgr/dispatcher/inc/wlan_vdev_mlme_api.h @@ -207,4 +207,15 @@ void wlan_vdev_mlme_cmd_unlock(struct wlan_objmgr_vdev *vdev); * FAILURE: otherwise failure */ QDF_STATUS wlan_vdev_mlme_is_scan_allowed(struct wlan_objmgr_vdev *vdev); + +/** + * wlan_vdev_mlme_is_init_state() - Checks whether vdev is in init state + * @vdev: Object manager VDEV object + * + * API to checks the VDEV MLME SM state is in init state or not + * + * Return: SUCCESS: if vdev is in init state + * FAILURE: otherwise failure + */ +QDF_STATUS wlan_vdev_mlme_is_init_state(struct wlan_objmgr_vdev *vdev); #endif diff --git a/umac/mlme/vdev_mgr/dispatcher/src/wlan_vdev_mlme_api.c b/umac/mlme/vdev_mgr/dispatcher/src/wlan_vdev_mlme_api.c index d90f44f641..1d0629976c 100644 --- a/umac/mlme/vdev_mgr/dispatcher/src/wlan_vdev_mlme_api.c +++ b/umac/mlme/vdev_mgr/dispatcher/src/wlan_vdev_mlme_api.c @@ -282,3 +282,14 @@ QDF_STATUS wlan_vdev_mlme_is_scan_allowed(struct wlan_objmgr_vdev *vdev) return QDF_STATUS_E_FAILURE; } + +QDF_STATUS wlan_vdev_mlme_is_init_state(struct wlan_objmgr_vdev *vdev) +{ + enum wlan_vdev_state state; + + state = wlan_vdev_mlme_get_state(vdev); + if (state == WLAN_VDEV_S_INIT) + return QDF_STATUS_SUCCESS; + + return QDF_STATUS_E_FAILURE; +}