diff --git a/umac/cmn_services/obj_mgr/inc/wlan_objmgr_pdev_obj.h b/umac/cmn_services/obj_mgr/inc/wlan_objmgr_pdev_obj.h index 2be938846e09..82bc47d0647b 100644 --- a/umac/cmn_services/obj_mgr/inc/wlan_objmgr_pdev_obj.h +++ b/umac/cmn_services/obj_mgr/inc/wlan_objmgr_pdev_obj.h @@ -121,6 +121,8 @@ #define WLAN_PDEV_OP_RESTART_INPROGRESS 0x00020000 /* PDEV MBSSID VDEV restart trigger */ #define WLAN_PDEV_OP_MBSSID_RESTART 0x00040000 + /* RADAR DETECT Defer */ +#define WLAN_PDEV_OP_RADAR_DETECT_DEFER 0x00080000 struct osif_pdev_priv; diff --git a/umac/mlme/include/wlan_vdev_mlme.h b/umac/mlme/include/wlan_vdev_mlme.h index dc8fc72fb217..9dbb955e01a0 100644 --- a/umac/mlme/include/wlan_vdev_mlme.h +++ b/umac/mlme/include/wlan_vdev_mlme.h @@ -452,6 +452,8 @@ enum vdev_start_resp_type { * peer delete completion * @mlme_vdev_down_send: callback to initiate actions of VDEV * MLME down operation + * @mlme_vdev_notify_start_state_exit: callback to notify on vdev start + * start state exit */ struct vdev_mlme_ops { QDF_STATUS (*mlme_vdev_validate_basic_params)( @@ -519,6 +521,8 @@ struct vdev_mlme_ops { QDF_STATUS (*mlme_vdev_ext_start_rsp)( struct vdev_mlme_obj *vdev_mlme, struct vdev_start_response *rsp); + QDF_STATUS (*mlme_vdev_notify_start_state_exit)( + struct vdev_mlme_obj *vdev_mlme); }; /** @@ -986,4 +990,25 @@ static inline QDF_STATUS mlme_vdev_notify_down_complete( return ret; } +/** + * mlme_vdev_notify_start_state_exit - VDEV SM start state exit notification + * @vdev_mlme_obj: VDEV MLME comp object + * + * API notifies on start state exit + * + * Return: SUCCESS on successful completion of notification + * FAILURE, if it fails due to any + */ +static inline QDF_STATUS mlme_vdev_notify_start_state_exit( + struct vdev_mlme_obj *vdev_mlme) +{ + QDF_STATUS ret = QDF_STATUS_SUCCESS; + + if ((vdev_mlme->ops) && + vdev_mlme->ops->mlme_vdev_notify_start_state_exit) + ret = vdev_mlme->ops->mlme_vdev_notify_start_state_exit( + vdev_mlme); + + return ret; +} #endif diff --git a/umac/mlme/vdev_mgr/core/src/vdev_mlme_sm.c b/umac/mlme/vdev_mgr/core/src/vdev_mlme_sm.c index e116ccd47aba..56cd96e83215 100644 --- a/umac/mlme/vdev_mgr/core/src/vdev_mlme_sm.c +++ b/umac/mlme/vdev_mgr/core/src/vdev_mlme_sm.c @@ -888,7 +888,9 @@ static void mlme_vdev_subst_start_conn_progress_entry(void *ctx) */ static void mlme_vdev_subst_start_conn_progress_exit(void *ctx) { - /* NONE */ + struct vdev_mlme_obj *vdev_mlme = (struct vdev_mlme_obj *)ctx; + + mlme_vdev_notify_start_state_exit(vdev_mlme); } /**