ソースを参照

qcacld-3.0: Remove legacy vdev restart and hidden ssid restart flags

Remove legacy vdev restart and hidden ssid restart flags as vdev mlme
new vdev mlme priv flags.

Change-Id: I31a1541fe4504bfb635b3151ea3afd05ffce7cea
CRs-Fixed: 2319427
Abhishek Singh 6 年 前
コミット
a063f1c658

+ 10 - 10
components/mlme/core/inc/wlan_mlme_vdev_mgr_interface.h

@@ -59,22 +59,22 @@ QDF_STATUS mlme_register_vdev_mgr_ops(void *mlme);
 QDF_STATUS mlme_unregister_vdev_mgr_ops(struct vdev_mlme_obj *vdev_mlme);
 
 /**
- * ap_mlme_set_chan_switch_in_progress() - set mlme priv restart in progress
+ * mlme_set_chan_switch_in_progress() - set mlme priv restart in progress
  * @vdev: vdev pointer
  * @val: value to be set
  *
  * Return: QDF_STATUS
  */
-QDF_STATUS ap_mlme_set_chan_switch_in_progress(struct wlan_objmgr_vdev *vdev,
+QDF_STATUS mlme_set_chan_switch_in_progress(struct wlan_objmgr_vdev *vdev,
 					       bool val);
 
 /**
- * ap_mlme_get_chan_switch_in_progress() - get mlme priv restart in progress
+ * mlme_is_chan_switch_in_progress() - get mlme priv restart in progress
  * @vdev: vdev pointer
  *
  * Return: value of mlme priv restart in progress
  */
-bool ap_mlme_get_chan_switch_in_progress(struct wlan_objmgr_vdev *vdev);
+bool mlme_is_chan_switch_in_progress(struct wlan_objmgr_vdev *vdev);
 
 /**
  * ap_mlme_set_hidden_ssid_restart_in_progress() - set mlme priv hidden ssid
@@ -89,31 +89,31 @@ ap_mlme_set_hidden_ssid_restart_in_progress(struct wlan_objmgr_vdev *vdev,
 					    bool val);
 
 /**
- * ap_mlme_get_hidden_ssid_restart_in_progress() - get mlme priv hidden ssid
+ * ap_mlme_is_hidden_ssid_restart_in_progress() - get mlme priv hidden ssid
  * restart in progress
  * @vdev: vdev pointer
  *
  * Return: value of mlme priv hidden ssid restart in progress
  */
-bool ap_mlme_get_hidden_ssid_restart_in_progress(struct wlan_objmgr_vdev *vdev);
+bool ap_mlme_is_hidden_ssid_restart_in_progress(struct wlan_objmgr_vdev *vdev);
 
 /**
- * ap_mlme_set_vdev_start_failed() - set mlme priv vdev restart fail flag
+ * mlme_set_vdev_start_failed() - set mlme priv vdev restart fail flag
  * @vdev: vdev pointer
  * @val: value to be set
  *
  * Return: QDF_STATUS
  */
 QDF_STATUS
-ap_mlme_set_vdev_start_failed(struct wlan_objmgr_vdev *vdev, bool val);
+mlme_set_vdev_start_failed(struct wlan_objmgr_vdev *vdev, bool val);
 
 /**
- * ap_mlme_get_vdev_start_failed() - get mlme priv vdev restart fail flag
+ * mlme_get_vdev_start_failed() - get mlme priv vdev restart fail flag
  * @vdev: vdev pointer
  *
  * Return: value of mlme priv vdev restart fail flag
  */
-bool ap_mlme_get_vdev_start_failed(struct wlan_objmgr_vdev *vdev);
+bool mlme_get_vdev_start_failed(struct wlan_objmgr_vdev *vdev);
 
 #endif
 #endif

+ 14 - 11
components/mlme/core/src/wlan_mlme_vdev_mgr_interface.c

@@ -492,7 +492,7 @@ static QDF_STATUS ap_mlme_vdev_stop_start_send(struct vdev_mlme_obj *vdev_mlme,
 						data_len, data);
 }
 
-QDF_STATUS ap_mlme_set_chan_switch_in_progress(struct wlan_objmgr_vdev *vdev,
+QDF_STATUS mlme_set_chan_switch_in_progress(struct wlan_objmgr_vdev *vdev,
 					       bool val)
 {
 	struct vdev_mlme_obj *vdev_mlme;
@@ -511,7 +511,7 @@ QDF_STATUS ap_mlme_set_chan_switch_in_progress(struct wlan_objmgr_vdev *vdev,
 	return QDF_STATUS_SUCCESS;
 }
 
-bool ap_mlme_get_chan_switch_in_progress(struct wlan_objmgr_vdev *vdev)
+bool mlme_is_chan_switch_in_progress(struct wlan_objmgr_vdev *vdev)
 {
 	struct vdev_mlme_obj *vdev_mlme;
 	struct mlme_legacy_priv *mlme_priv;
@@ -547,7 +547,7 @@ ap_mlme_set_hidden_ssid_restart_in_progress(struct wlan_objmgr_vdev *vdev,
 	return QDF_STATUS_SUCCESS;
 }
 
-bool ap_mlme_get_hidden_ssid_restart_in_progress(struct wlan_objmgr_vdev *vdev)
+bool ap_mlme_is_hidden_ssid_restart_in_progress(struct wlan_objmgr_vdev *vdev)
 {
 	struct vdev_mlme_obj *vdev_mlme;
 	struct mlme_legacy_priv *mlme_priv;
@@ -564,7 +564,7 @@ bool ap_mlme_get_hidden_ssid_restart_in_progress(struct wlan_objmgr_vdev *vdev)
 }
 
 QDF_STATUS
-ap_mlme_set_vdev_start_failed(struct wlan_objmgr_vdev *vdev, bool val)
+mlme_set_vdev_start_failed(struct wlan_objmgr_vdev *vdev, bool val)
 {
 	struct vdev_mlme_obj *vdev_mlme;
 	struct mlme_legacy_priv *mlme_priv;
@@ -582,7 +582,7 @@ ap_mlme_set_vdev_start_failed(struct wlan_objmgr_vdev *vdev, bool val)
 	return QDF_STATUS_SUCCESS;
 }
 
-bool ap_mlme_get_vdev_start_failed(struct wlan_objmgr_vdev *vdev)
+bool mlme_get_vdev_start_failed(struct wlan_objmgr_vdev *vdev)
 {
 	struct vdev_mlme_obj *vdev_mlme;
 	struct mlme_legacy_priv *mlme_priv;
@@ -598,14 +598,15 @@ bool ap_mlme_get_vdev_start_failed(struct wlan_objmgr_vdev *vdev)
 	return mlme_priv->vdev_start_failed;
 }
 
+
 /**
- * ap_mlme_vdev_legacy_hdl_create () - Create sap mlme legacy priv object
+ * mlme_legacy_hdl_create () - Create mlme legacy priv object
  * @vdev_mlme: vdev mlme object
  *
  * Return: QDF_STATUS
  */
 static
-QDF_STATUS ap_mlme_vdev_legacy_hdl_create(struct vdev_mlme_obj *vdev_mlme)
+QDF_STATUS mlme_legacy_hdl_create(struct vdev_mlme_obj *vdev_mlme)
 {
 	vdev_mlme->legacy_vdev_ptr =
 		qdf_mem_malloc(sizeof(struct mlme_legacy_priv));
@@ -618,13 +619,13 @@ QDF_STATUS ap_mlme_vdev_legacy_hdl_create(struct vdev_mlme_obj *vdev_mlme)
 }
 
 /**
- * ap_mlme_vdev_legacy_hdl_destroy () - Destroy sap mlme legacy priv object
+ * mlme_legacy_hdl_destroy () - Destroy mlme legacy priv object
  * @vdev_mlme: vdev mlme object
  *
  * Return: QDF_STATUS
  */
 static
-QDF_STATUS ap_mlme_vdev_legacy_hdl_destroy(struct vdev_mlme_obj *vdev_mlme)
+QDF_STATUS mlme_legacy_hdl_destroy(struct vdev_mlme_obj *vdev_mlme)
 {
 	qdf_mem_free(vdev_mlme->legacy_vdev_ptr);
 	vdev_mlme->legacy_vdev_ptr = NULL;
@@ -696,6 +697,8 @@ static struct vdev_mlme_ops sta_mlme_ops = {
 	.mlme_vdev_stop_continue = sta_mlme_vdev_stop_continue,
 	.mlme_vdev_down_send = sta_mlme_vdev_down_send,
 	.mlme_vdev_notify_down_complete = sta_vdev_notify_down_complete,
+	.mlme_vdev_legacy_hdl_create = mlme_legacy_hdl_create,
+	.mlme_vdev_legacy_hdl_destroy = mlme_legacy_hdl_destroy,
 };
 
 /**
@@ -745,6 +748,6 @@ static struct vdev_mlme_ops ap_mlme_ops = {
 	.mlme_vdev_stop_continue = ap_mlme_vdev_stop_continue,
 	.mlme_vdev_down_send = ap_mlme_vdev_down_send,
 	.mlme_vdev_notify_down_complete = ap_vdev_notify_down_complete,
-	.mlme_vdev_legacy_hdl_create = ap_mlme_vdev_legacy_hdl_create,
-	.mlme_vdev_legacy_hdl_destroy = ap_mlme_vdev_legacy_hdl_destroy,
+	.mlme_vdev_legacy_hdl_create = mlme_legacy_hdl_create,
+	.mlme_vdev_legacy_hdl_destroy = mlme_legacy_hdl_destroy,
 };

+ 1 - 1
core/mac/src/pe/lim/lim_process_sme_req_messages.c

@@ -5066,7 +5066,7 @@ static void lim_process_sme_channel_change_request(tpAniSirGlobal mac_ctx,
 			sizeof(session_entry->extRateSet));
 
 #ifdef CONFIG_VDEV_SM
-	ap_mlme_set_chan_switch_in_progress(session_entry->vdev, true);
+	mlme_set_chan_switch_in_progress(session_entry->vdev, true);
 	if (wlan_vdev_mlme_get_state(session_entry->vdev) ==
 	    WLAN_VDEV_S_DFS_CAC_WAIT)
 		wlan_vdev_mlme_sm_deliver_evt(session_entry->vdev,

+ 2 - 2
core/mac/src/pe/lim/lim_utils.c

@@ -8537,7 +8537,7 @@ QDF_STATUS lim_ap_mlme_vdev_restart_send(struct vdev_mlme_obj *vdev_mlme,
 		return QDF_STATUS_E_INVAL;
 	}
 
-	if (ap_mlme_get_hidden_ssid_restart_in_progress(vdev_mlme->vdev))
+	if (ap_mlme_is_hidden_ssid_restart_in_progress(vdev_mlme->vdev))
 		lim_send_vdev_restart(session->mac_ctx, session,
 				      session->smeSessionId);
 	else
@@ -8585,7 +8585,7 @@ void lim_send_start_bss_confirm(tpAniSirGlobal mac_ctx,
 			pe_err("session is NULL");
 			return;
 		}
-		ap_mlme_set_vdev_start_failed(session->vdev, true);
+		mlme_set_vdev_start_failed(session->vdev, true);
 		wlan_vdev_mlme_sm_deliver_evt(session->vdev,
 					      WLAN_VDEV_SM_EV_START_REQ_FAIL,
 					      sizeof(*start_cnf), start_cnf);

+ 4 - 0
core/wma/inc/wma.h

@@ -761,7 +761,9 @@ typedef struct {
 	A_UINT32 requestor_id;
 	A_UINT32 disable_hw_ack;
 	wmi_channel chan;
+#ifndef CONFIG_VDEV_SM
 	qdf_atomic_t hidden_ssid_restart_in_progress;
+#endif
 	uint8_t ssidHidden;
 } vdev_restart_params_t;
 
@@ -890,7 +892,9 @@ struct wma_txrx_node {
 	qdf_atomic_t bss_status;
 	uint8_t rate_flags;
 	uint8_t nss;
+#ifndef CONFIG_VDEV_SM
 	bool is_channel_switch;
+#endif
 	uint16_t pause_bitmap;
 	int8_t tx_power;
 	int8_t max_tx_power;

+ 10 - 0
core/wma/inc/wma_api.h

@@ -409,6 +409,16 @@ void wma_wmi_stop(void);
  */
 uint8_t wma_get_mcs_idx(uint16_t max_rate, uint8_t rate_flags,
 			uint8_t *nss, uint8_t *mcs_rate_flag);
+
+/**
+ * wma_get_hidden_ssid_restart_in_progress() - check if hidden ssid restart is
+ * in progress
+ * @iface: iface pointer
+ *
+ * Return: true if hidden ssid restart is in progress else false
+ */
+bool wma_get_hidden_ssid_restart_in_progress(struct wma_txrx_node *iface);
+
 #ifdef CONFIG_VDEV_SM
 
 /**

+ 20 - 7
core/wma/src/wma_dev_if.c

@@ -1217,22 +1217,21 @@ int wma_vdev_start_resp_handler(void *handle, uint8_t *cmd_param_info,
 	}
 	qdf_mc_timer_stop(&req_msg->event_timeout);
 
-	if ((qdf_atomic_read(&iface->vdev_restart_params.
-			     hidden_ssid_restart_in_progress)) &&
+	if (wma_get_hidden_ssid_restart_in_progress(iface) &&
 	    wma_is_vdev_in_ap_mode(wma, resp_event->vdev_id) &&
 	    (req_msg->msg_type == WMA_HIDDEN_SSID_VDEV_RESTART)) {
 		tpHalHiddenSsidVdevRestart hidden_ssid_restart =
 			(tpHalHiddenSsidVdevRestart)req_msg->user_data;
 		WMA_LOGE("%s: vdev restart event recevied for hidden ssid set using IOCTL",
 			__func__);
-		qdf_atomic_set(&iface->vdev_restart_params.
-			       hidden_ssid_restart_in_progress, 0);
 #ifdef CONFIG_VDEV_SM
 		wlan_vdev_mlme_sm_deliver_evt(iface->vdev,
 					      WLAN_VDEV_SM_EV_RESTART_RESP,
 					      sizeof(*hidden_ssid_restart),
 					      hidden_ssid_restart);
 #else
+		qdf_atomic_set(&iface->vdev_restart_params.
+			       hidden_ssid_restart_in_progress, 0);
 		wma_send_msg(wma, WMA_HIDDEN_SSID_RESTART_RSP,
 				(void *)hidden_ssid_restart, 0);
 #endif
@@ -1265,10 +1264,12 @@ int wma_vdev_start_resp_handler(void *handle, uint8_t *cmd_param_info,
 		}
 		params->smpsMode = host_map_smps_mode(resp_event->smps_mode);
 		params->status = resp_event->status;
+#ifndef CONFIG_VDEV_SM
 		if (wma->interfaces[resp_event->vdev_id].is_channel_switch) {
 			wma->interfaces[resp_event->vdev_id].is_channel_switch =
 				false;
 		}
+#endif
 		if (((resp_event->resp_type == WMI_VDEV_RESTART_RESP_EVENT) &&
 			((iface->type == WMI_VDEV_TYPE_STA) ||
 				(iface->type == WMI_VDEV_TYPE_MONITOR))) ||
@@ -3556,13 +3557,24 @@ void wma_vdev_resp_timer(void *data)
 			wma_trigger_recovery_assert_on_fw_timeout(
 				WMA_CHNL_SWITCH_REQ);
 		} else {
+#ifdef CONFIG_VDEV_SM
+			struct wma_txrx_node *iface =
+					&wma->interfaces[tgt_req->vdev_id];
+
+			wlan_vdev_mlme_sm_deliver_evt(iface->vdev,
+						   WLAN_VDEV_SM_EV_RESTART_RESP,
+						   sizeof(*params), params);
+#else
 			wma_send_msg_high_priority(wma, WMA_SWITCH_CHANNEL_RSP,
 				    (void *)params, 0);
+#endif
 		}
+#ifndef CONFIG_VDEV_SM
 		if (wma->interfaces[tgt_req->vdev_id].is_channel_switch) {
 			wma->interfaces[tgt_req->vdev_id].is_channel_switch =
 				false;
 		}
+#endif
 	} else if (tgt_req->msg_type == WMA_DELETE_BSS_REQ) {
 		tpDeleteBssParams params =
 			(tpDeleteBssParams) tgt_req->user_data;
@@ -3716,16 +3728,17 @@ void wma_vdev_resp_timer(void *data)
 #endif
 		wma_ocb_set_config_resp(wma, QDF_STATUS_E_TIMEOUT);
 	} else if (tgt_req->msg_type == WMA_HIDDEN_SSID_VDEV_RESTART) {
-		if ((qdf_atomic_read(
-		    &wma->interfaces[tgt_req->vdev_id].vdev_restart_params.
-					hidden_ssid_restart_in_progress)) &&
+		if (wma_get_hidden_ssid_restart_in_progress(
+		    &wma->interfaces[tgt_req->vdev_id]) &&
 		    wma_is_vdev_in_ap_mode(wma, tgt_req->vdev_id)) {
 
 			WMA_LOGE("Hidden ssid vdev restart Timed Out; vdev_id: %d, type = %d",
 				 tgt_req->vdev_id, tgt_req->type);
+#ifndef CONFIG_VDEV_SM
 			qdf_atomic_set(&wma->interfaces[tgt_req->vdev_id].
 				       vdev_restart_params.
 				       hidden_ssid_restart_in_progress, 0);
+#endif
 			qdf_mem_free(tgt_req->user_data);
 		}
 	} else if (tgt_req->msg_type == WMA_SET_LINK_STATE) {

+ 2 - 0
core/wma/src/wma_features.c

@@ -1395,7 +1395,9 @@ int wma_csa_offload_handler(void *handle, uint8_t *event, uint32_t len)
 		qdf_mem_free(csa_offload_event);
 		return -EINVAL;
 	}
+#ifndef CONFIG_VDEV_SM
 	wma->interfaces[vdev_id].is_channel_switch = true;
+#endif
 	wma_send_msg(wma, WMA_CSA_OFFLOAD_EVENT, (void *)csa_offload_event, 0);
 	return 0;
 }

+ 32 - 9
core/wma/src/wma_mgmt.c

@@ -2880,19 +2880,38 @@ void wma_send_probe_rsp_tmpl(tp_wma_handle wma,
 	}
 }
 
+#ifdef CONFIG_VDEV_SM
 QDF_STATUS wma_set_ap_vdev_up(tp_wma_handle wma, uint8_t vdev_id)
 {
 	struct vdev_up_params param = {0};
 	QDF_STATUS status = QDF_STATUS_SUCCESS;
 
-	if (!((qdf_atomic_read(
-		&wma->interfaces[vdev_id].vdev_restart_params.
-		hidden_ssid_restart_in_progress)) ||
-		(wma->interfaces[vdev_id].is_channel_switch))) {
-#ifndef CONFIG_VDEV_SM
+	param.vdev_id = vdev_id;
+	param.assoc_id = 0;
+	status = wma_send_vdev_up_to_fw(wma, &param,
+					wma->interfaces[vdev_id].bssid);
+	if (QDF_IS_STATUS_ERROR(status)) {
+		WMA_LOGE(FL("failed to send vdev up"));
+		policy_mgr_set_do_hw_mode_change_flag(
+			wma->psoc, false);
+		return status;
+	}
+	wma_set_sap_keepalive(wma, vdev_id);
+	wma_set_vdev_mgmt_rate(wma, vdev_id);
+
+	return status;
+}
+#else
+QDF_STATUS wma_set_ap_vdev_up(tp_wma_handle wma, uint8_t vdev_id)
+{
+	struct vdev_up_params param = {0};
+	QDF_STATUS status = QDF_STATUS_SUCCESS;
+
+	if (!wma_get_hidden_ssid_restart_in_progress(
+	     &wma->interfaces[vdev_id]) ||
+	    (wma->interfaces[vdev_id].is_channel_switch)) {
 		if (wma_is_vdev_up(vdev_id))
 			return status;
-#endif
 		param.vdev_id = vdev_id;
 		param.assoc_id = 0;
 		status = wma_send_vdev_up_to_fw(wma, &param,
@@ -2903,15 +2922,14 @@ QDF_STATUS wma_set_ap_vdev_up(tp_wma_handle wma, uint8_t vdev_id)
 				wma->psoc, false);
 			return status;
 		}
-#ifndef CONFIG_VDEV_SM
 		wma_vdev_set_mlme_state(wma, vdev_id, WLAN_VDEV_S_RUN);
-#endif
 		wma_set_sap_keepalive(wma, vdev_id);
 		wma_set_vdev_mgmt_rate(wma, vdev_id);
 	}
 
 	return status;
 }
+#endif
 
 /**
  * wma_send_beacon() - send beacon template
@@ -3394,9 +3412,10 @@ void wma_hidden_ssid_vdev_restart(tp_wma_handle wma,
 	}
 
 	intr[vdev_id].vdev_restart_params.ssidHidden = pReq->ssidHidden;
+#ifndef CONFIG_VDEV_SM
 	qdf_atomic_set(&intr[vdev_id].vdev_restart_params.
 		       hidden_ssid_restart_in_progress, 1);
-
+#endif
 	WMA_LOGD(FL("hidden ssid set using IOCTL for vdev %d ssid_hidden %d"),
 		 vdev_id, pReq->ssidHidden);
 
@@ -3408,8 +3427,10 @@ void wma_hidden_ssid_vdev_restart(tp_wma_handle wma,
 	if (!msg) {
 		WMA_LOGE(FL("Failed to fill vdev request, vdev_id %d"),
 			 vdev_id);
+#ifndef CONFIG_VDEV_SM
 		qdf_atomic_set(&intr[vdev_id].vdev_restart_params.
 			       hidden_ssid_restart_in_progress, 0);
+#endif
 		qdf_mem_free(pReq);
 		return;
 	}
@@ -3444,8 +3465,10 @@ void wma_hidden_ssid_vdev_restart(tp_wma_handle wma,
 							   &params);
 	if (QDF_IS_STATUS_ERROR(status)) {
 		WMA_LOGE(FL("Failed to send vdev restart command"));
+#ifndef CONFIG_VDEV_SM
 		qdf_atomic_set(&intr[vdev_id].vdev_restart_params.
 			       hidden_ssid_restart_in_progress, 0);
+#endif
 		wma_remove_vdev_req(wma, vdev_id,
 				    WMA_TARGET_REQ_TYPE_VDEV_START);
 		qdf_mem_free(pReq);

+ 10 - 0
core/wma/src/wma_scan_roam.c

@@ -3102,7 +3102,9 @@ void wma_set_channel(tp_wma_handle wma, tpSwitchChannelParams params)
 	 */
 	if ((wma_is_vdev_in_ap_mode(wma, req.vdev_id) == true) ||
 	    (params->restart_on_chan_switch == true)) {
+#ifndef CONFIG_VDEV_SM
 		wma->interfaces[req.vdev_id].is_channel_switch = true;
+#endif
 		req.hidden_ssid = intr[vdev_id].vdev_restart_params.ssidHidden;
 	}
 
@@ -3142,7 +3144,9 @@ void wma_set_channel(tp_wma_handle wma, tpSwitchChannelParams params)
 	    wma_is_vdev_up(vdev_id)) {
 		WMA_LOGD("%s: setting channel switch to true for vdev_id:%d",
 			 __func__, req.vdev_id);
+#ifndef CONFIG_VDEV_SM
 		wma->interfaces[req.vdev_id].is_channel_switch = true;
+#endif
 	}
 
 	msg = wma_fill_vdev_req(wma, req.vdev_id, WMA_CHNL_SWITCH_REQ,
@@ -3154,8 +3158,14 @@ void wma_set_channel(tp_wma_handle wma, tpSwitchChannelParams params)
 		status = QDF_STATUS_E_NOMEM;
 		goto send_resp;
 	}
+#ifdef CONFIG_VDEV_SM
+	status = wma_vdev_start(wma, &req,
+				mlme_is_chan_switch_in_progress(
+				wma->interfaces[req.vdev_id].vdev));
+#else
 	status = wma_vdev_start(wma, &req,
 			wma->interfaces[req.vdev_id].is_channel_switch);
+#endif
 	if (status != QDF_STATUS_SUCCESS) {
 		wma_remove_vdev_req(wma, req.vdev_id,
 				    WMA_TARGET_REQ_TYPE_VDEV_START);

+ 24 - 5
core/wma/src/wma_utils.c

@@ -4798,6 +4798,13 @@ QDF_STATUS wma_get_roam_scan_stats(WMA_HANDLE handle,
 }
 
 #ifdef CONFIG_VDEV_SM
+bool wma_get_hidden_ssid_restart_in_progress(struct wma_txrx_node *iface)
+{
+	if (!iface)
+		return false;
+
+	return ap_mlme_is_hidden_ssid_restart_in_progress(iface->vdev);
+}
 
 static QDF_STATUS
 wma_ap_vdev_send_start_resp(tp_wma_handle wma, tpAddBssParams add_bss)
@@ -4816,11 +4823,11 @@ QDF_STATUS wma_ap_mlme_vdev_start_continue(struct vdev_mlme_obj *vdev_mlme,
 	QDF_STATUS status = QDF_STATUS_SUCCESS;
 	struct wlan_objmgr_vdev *vdev = vdev_mlme->vdev;
 
-	if (ap_mlme_get_chan_switch_in_progress(vdev)) {
+	if (mlme_is_chan_switch_in_progress(vdev)) {
 		wma_send_msg_high_priority(wma, WMA_SWITCH_CHANNEL_RSP,
 					   data, 0);
-		ap_mlme_set_chan_switch_in_progress(vdev, false);
-	} else if (ap_mlme_get_hidden_ssid_restart_in_progress(vdev)) {
+		mlme_set_chan_switch_in_progress(vdev, false);
+	} else if (ap_mlme_is_hidden_ssid_restart_in_progress(vdev)) {
 		wma_send_msg(wma, WMA_HIDDEN_SSID_RESTART_RSP, data, 0);
 		ap_mlme_set_hidden_ssid_restart_in_progress(vdev, false);
 	} else {
@@ -4853,10 +4860,10 @@ wma_ap_mlme_vdev_notify_down_complete(struct vdev_mlme_obj *vdev_mlme,
 {
 	tp_wma_handle wma = cds_get_context(QDF_MODULE_ID_WMA);
 
-	if (!ap_mlme_get_vdev_start_failed(vdev_mlme->vdev))
+	if (!mlme_get_vdev_start_failed(vdev_mlme->vdev))
 		wma_send_del_bss_response(wma, (struct wma_target_req *)data);
 	else
-		ap_mlme_set_vdev_start_failed(vdev_mlme->vdev, false);
+		mlme_set_vdev_start_failed(vdev_mlme->vdev, false);
 
 	return QDF_STATUS_SUCCESS;
 }
@@ -4875,4 +4882,16 @@ QDF_STATUS wma_ap_mlme_vdev_stop_start_send(struct vdev_mlme_obj *vdev_mlme,
 	return wma_ap_vdev_send_start_resp(wma, bss_params);
 }
 
+#else
+bool wma_get_hidden_ssid_restart_in_progress(struct wma_txrx_node *iface)
+{
+	if (!iface)
+		return false;
+
+	if (qdf_atomic_read(
+		&iface->vdev_restart_params.hidden_ssid_restart_in_progress))
+		return true;
+
+	return false;
+}
 #endif