diff --git a/components/mlme/core/inc/wlan_mlme_vdev_mgr_interface.h b/components/mlme/core/inc/wlan_mlme_vdev_mgr_interface.h index e605d1397755..cdc7ad4c6137 100644 --- a/components/mlme/core/inc/wlan_mlme_vdev_mgr_interface.h +++ b/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 diff --git a/components/mlme/core/src/wlan_mlme_vdev_mgr_interface.c b/components/mlme/core/src/wlan_mlme_vdev_mgr_interface.c index 65f6288d8311..057d4c0d72ac 100644 --- a/components/mlme/core/src/wlan_mlme_vdev_mgr_interface.c +++ b/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, }; diff --git a/core/mac/src/pe/lim/lim_process_sme_req_messages.c b/core/mac/src/pe/lim/lim_process_sme_req_messages.c index 88d852ef0927..e53d1702a73b 100644 --- a/core/mac/src/pe/lim/lim_process_sme_req_messages.c +++ b/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, diff --git a/core/mac/src/pe/lim/lim_utils.c b/core/mac/src/pe/lim/lim_utils.c index 3d48b58f5662..4d01d21ef5ae 100644 --- a/core/mac/src/pe/lim/lim_utils.c +++ b/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); diff --git a/core/wma/inc/wma.h b/core/wma/inc/wma.h index a12c896ade34..739021692414 100644 --- a/core/wma/inc/wma.h +++ b/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; diff --git a/core/wma/inc/wma_api.h b/core/wma/inc/wma_api.h index 208f8cd39339..efb77b1c6219 100644 --- a/core/wma/inc/wma_api.h +++ b/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 /** diff --git a/core/wma/src/wma_dev_if.c b/core/wma/src/wma_dev_if.c index db6753404d14..d25531cfe229 100644 --- a/core/wma/src/wma_dev_if.c +++ b/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) { diff --git a/core/wma/src/wma_features.c b/core/wma/src/wma_features.c index 9324ff60f966..676a63ea4949 100644 --- a/core/wma/src/wma_features.c +++ b/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; } diff --git a/core/wma/src/wma_mgmt.c b/core/wma/src/wma_mgmt.c index 90d20ed0ba35..c54b7935a353 100644 --- a/core/wma/src/wma_mgmt.c +++ b/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, ¶m, + 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, ¶m, @@ -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, ¶ms); 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); diff --git a/core/wma/src/wma_scan_roam.c b/core/wma/src/wma_scan_roam.c index 7109dd23c313..57b6e090f7e1 100644 --- a/core/wma/src/wma_scan_roam.c +++ b/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); diff --git a/core/wma/src/wma_utils.c b/core/wma/src/wma_utils.c index fc0518b4ae69..47ccf055b389 100644 --- a/core/wma/src/wma_utils.c +++ b/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