qcacld-3.0: Cleanup VDEV_SM legacy code

Legacy code of VDEV SM is no more used, hence this cleanup is done.

Change-Id: I8dc649639c4c1afb4ae206a046fe530e172bced9
CRs-Fixed: 2454039
This commit is contained in:
Abhishek Ambure 2019-05-16 14:28:46 +05:30 • committed by nshrivas
commit 7acc2c1609
29 changed files with 4 additions and 1518 deletions

View file

@ -51,8 +51,6 @@ struct peer_mlme_priv_obj {
uint32_t ucast_key_cipher;
};
#ifdef CONFIG_VDEV_SM
/**
* enum vdev_assoc_type - VDEV associate/reassociate type
* @VDEV_ASSOC: associate
@ -90,48 +88,6 @@ struct mlme_legacy_priv {
uint8_t sta_dynamic_oce_value;
};
#else
/**
* struct vdev_mlme_obj - VDEV MLME component object
* @dynamic_cfg: current configuration of nss, chains for vdev.
* @ini_cfg: Max configuration of nss, chains supported for vdev.
* @sta_dynamic_oce_value: Dyanmic oce flags value for sta
*/
struct vdev_mlme_priv_obj {
struct wlan_mlme_nss_chains dynamic_cfg;
struct wlan_mlme_nss_chains ini_cfg;
uint8_t sta_dynamic_oce_value;
};
/**
* mlme_vdev_object_created_notification(): mlme vdev create handler
* @vdev: vdev which is going to created by objmgr
* @arg: argument for vdev create handler
*
* Register this api with objmgr to detect vdev is created
*
* Return: QDF_STATUS status in case of success else return error
*/
QDF_STATUS
mlme_vdev_object_created_notification(struct wlan_objmgr_vdev *vdev,
void *arg);
/**
* mlme_vdev_object_destroyed_notification(): mlme vdev delete handler
* @psoc: vdev which is going to delete by objmgr
* @arg: argument for vdev delete handler
*
* Register this api with objmgr to detect vdev is deleted
*
* Return: QDF_STATUS status in case of success else return error
*/
QDF_STATUS
mlme_vdev_object_destroyed_notification(struct wlan_objmgr_vdev *vdev,
void *arg);
#endif
#ifndef CRYPTO_SET_KEY_CONVERGED
/**
* wlan_peer_set_unicast_cipher() - set unicast cipher

View file

@ -22,7 +22,6 @@
#ifndef _WLAN_MLME_VDEV_MGR_INT_API_H_
#define _WLAN_MLME_VDEV_MGR_INT_API_H_
#ifdef CONFIG_VDEV_SM
#include <wlan_objmgr_vdev_obj.h>
#include "include/wlan_vdev_mlme.h"
#include "wlan_mlme_main.h"
@ -196,4 +195,3 @@ QDF_STATUS mlme_set_assoc_type(struct wlan_objmgr_vdev *vdev,
*/
enum vdev_assoc_type mlme_get_assoc_type(struct wlan_objmgr_vdev *vdev);
#endif
#endif

View file

@ -44,7 +44,6 @@ struct wlan_mlme_psoc_obj *mlme_get_psoc_obj_fl(struct wlan_objmgr_psoc *psoc,
return mlme_obj;
}
#ifdef CONFIG_VDEV_SM
struct wlan_mlme_nss_chains *mlme_get_dynamic_vdev_config(
struct wlan_objmgr_vdev *vdev)
{
@ -95,131 +94,6 @@ uint8_t *mlme_get_dynamic_oce_flags(struct wlan_objmgr_vdev *vdev)
return &mlme_priv->sta_dynamic_oce_value;
}
#else
static struct vdev_mlme_priv_obj *
wlan_vdev_mlme_get_priv_obj(struct wlan_objmgr_vdev *vdev)
{
struct vdev_mlme_priv_obj *vdev_mlme;
if (!vdev) {
mlme_legacy_err("vdev is NULL");
return NULL;
}
vdev_mlme = wlan_objmgr_vdev_get_comp_private_obj(vdev,
WLAN_UMAC_COMP_MLME);
if (!vdev_mlme) {
mlme_legacy_err(" MLME component object is NULL");
return NULL;
}
return vdev_mlme;
}
uint8_t *mlme_get_dynamic_oce_flags(struct wlan_objmgr_vdev *vdev)
{
struct vdev_mlme_priv_obj *vdev_mlme;
vdev_mlme = wlan_vdev_mlme_get_priv_obj(vdev);
if (!vdev_mlme) {
mlme_legacy_err("vdev component object is NULL");
return NULL;
}
return &vdev_mlme->sta_dynamic_oce_value;
}
struct wlan_mlme_nss_chains *mlme_get_dynamic_vdev_config(
struct wlan_objmgr_vdev *vdev)
{
struct vdev_mlme_priv_obj *vdev_mlme;
vdev_mlme = wlan_vdev_mlme_get_priv_obj(vdev);
if (!vdev_mlme) {
mlme_legacy_err("vdev component object is NULL");
return NULL;
}
return &vdev_mlme->dynamic_cfg;
}
struct wlan_mlme_nss_chains *mlme_get_ini_vdev_config(
struct wlan_objmgr_vdev *vdev)
{
struct vdev_mlme_priv_obj *vdev_mlme;
vdev_mlme = wlan_vdev_mlme_get_priv_obj(vdev);
if (!vdev_mlme) {
mlme_legacy_err("vdev component object is NULL");
return NULL;
}
return &vdev_mlme->ini_cfg;
}
QDF_STATUS
mlme_vdev_object_created_notification(struct wlan_objmgr_vdev *vdev,
void *arg)
{
struct vdev_mlme_priv_obj *vdev_mlme;
QDF_STATUS status;
if (!vdev) {
mlme_legacy_err(" VDEV is NULL");
return QDF_STATUS_E_FAILURE;
}
vdev_mlme = qdf_mem_malloc(sizeof(*vdev_mlme));
if (!vdev_mlme) {
mlme_legacy_err(" MLME component object alloc failed");
return QDF_STATUS_E_NOMEM;
}
status = wlan_objmgr_vdev_component_obj_attach(vdev,
WLAN_UMAC_COMP_MLME,
(void *)vdev_mlme,
QDF_STATUS_SUCCESS);
if (QDF_IS_STATUS_ERROR(status))
mlme_legacy_err("unable to attach vdev priv obj to vdev obj");
return QDF_STATUS_SUCCESS;
}
QDF_STATUS
mlme_vdev_object_destroyed_notification(struct wlan_objmgr_vdev *vdev,
void *arg)
{
struct vdev_mlme_priv_obj *vdev_mlme;
QDF_STATUS status;
if (!vdev) {
mlme_legacy_err(" VDEV is NULL");
return QDF_STATUS_E_FAILURE;
}
vdev_mlme = wlan_objmgr_vdev_get_comp_private_obj(vdev,
WLAN_UMAC_COMP_MLME);
if (!vdev_mlme) {
mlme_legacy_err(" VDEV MLME component object is NULL");
return QDF_STATUS_E_FAILURE;
}
status = wlan_objmgr_vdev_component_obj_detach(vdev,
WLAN_UMAC_COMP_MLME,
vdev_mlme);
if (QDF_IS_STATUS_ERROR(status))
mlme_legacy_err("unable to detach vdev priv obj to vdev obj");
qdf_mem_free(vdev_mlme);
return QDF_STATUS_SUCCESS;
}
#endif
QDF_STATUS
mlme_psoc_object_created_notification(struct wlan_objmgr_psoc *psoc,
void *arg)

View file

@ -68,7 +68,6 @@ QDF_STATUS ucfg_mlme_psoc_open(struct wlan_objmgr_psoc *psoc);
*/
void ucfg_mlme_psoc_close(struct wlan_objmgr_psoc *psoc);
#ifdef CONFIG_VDEV_SM
/**
* ucfg_mlme_pdev_open() - MLME component pdev Open
* @pdev: pointer to pdev object
@ -101,53 +100,6 @@ QDF_STATUS ucfg_mlme_global_init(void);
* Return: QDF Status
*/
QDF_STATUS ucfg_mlme_global_deinit(void);
#else
/**
* ucfg_mlme_pdev_open() - MLME component pdev Open
* @pdev: pointer to pdev object
*
* Open the MLME component and initialize the MLME pdev strucutre
*
* Return: QDF Status
*/
static inline QDF_STATUS ucfg_mlme_pdev_open(struct wlan_objmgr_pdev *pdev)
{
return QDF_STATUS_SUCCESS;
}
/**
* ucfg_mlme_pdev_close() - MLME component pdev close
* @pdev: pointer to pdev object
*
* close the MLME pdev information
*
* Return: QDF Status
*/
static inline QDF_STATUS ucfg_mlme_pdev_close(struct wlan_objmgr_pdev *pdev)
{
return QDF_STATUS_SUCCESS;
}
/**
* ucfg_mlme_global_init() - initialize global mlme ops and structure
*
* Return: QDF Status
*/
static inline QDF_STATUS ucfg_mlme_global_init(void)
{
return QDF_STATUS_SUCCESS;
}
/**
* ucfg_mlme_global_deinit() - deinitialize global mlme ops and structure
*
* Return: QDF Status
*/
static inline QDF_STATUS ucfg_mlme_global_deinit(void)
{
return QDF_STATUS_SUCCESS;
}
#endif
/**
* wlan_mlme_get_power_usage() - Get the power usage info

View file

@ -26,21 +26,8 @@
#include "wlan_mlme_ucfg_api.h"
#include "wlan_objmgr_pdev_obj.h"
#include "wlan_mlme_vdev_mgr_interface.h"
#ifdef CONFIG_VDEV_SM
#include <include/wlan_pdev_mlme.h>
#include "wlan_pdev_mlme_api.h"
#endif
#ifdef CONFIG_VDEV_SM
static QDF_STATUS ucfg_mlme_vdev_init(void)
{
return QDF_STATUS_SUCCESS;
}
static QDF_STATUS ucfg_mlme_vdev_deinit(void)
{
return QDF_STATUS_SUCCESS;
}
QDF_STATUS ucfg_mlme_global_init(void)
{
@ -54,56 +41,6 @@ QDF_STATUS ucfg_mlme_global_deinit(void)
return QDF_STATUS_SUCCESS;
}
#else
static QDF_STATUS ucfg_mlme_vdev_init(void)
{
QDF_STATUS status;
status = wlan_objmgr_register_vdev_create_handler(
WLAN_UMAC_COMP_MLME,
mlme_vdev_object_created_notification,
NULL);
if (QDF_IS_STATUS_ERROR(status)) {
mlme_legacy_err("unable to register vdev create handle");
return status;
}
status = wlan_objmgr_register_vdev_destroy_handler(
WLAN_UMAC_COMP_MLME,
mlme_vdev_object_destroyed_notification,
NULL);
if (QDF_IS_STATUS_ERROR(status))
mlme_legacy_err("unable to register vdev create handle");
return status;
}
static QDF_STATUS ucfg_mlme_vdev_deinit(void)
{
QDF_STATUS status;
status = wlan_objmgr_unregister_vdev_destroy_handler(
WLAN_UMAC_COMP_MLME,
mlme_vdev_object_destroyed_notification,
NULL);
if (QDF_IS_STATUS_ERROR(status))
mlme_legacy_err("unable to unregister vdev destroy handle");
status = wlan_objmgr_unregister_vdev_create_handler(
WLAN_UMAC_COMP_MLME,
mlme_vdev_object_created_notification,
NULL);
if (QDF_IS_STATUS_ERROR(status))
mlme_legacy_err("unable to unregister vdev create handle");
return status;
}
#endif
QDF_STATUS ucfg_mlme_init(void)
{
QDF_STATUS status;
@ -126,10 +63,6 @@ QDF_STATUS ucfg_mlme_init(void)
return status;
}
status = ucfg_mlme_vdev_init();
if (QDF_IS_STATUS_ERROR(status))
return status;
status = wlan_objmgr_register_peer_create_handler(
WLAN_UMAC_COMP_MLME,
mlme_peer_object_created_notification,
@ -169,10 +102,6 @@ QDF_STATUS ucfg_mlme_deinit(void)
if (QDF_IS_STATUS_ERROR(status))
mlme_legacy_err("unable to unregister peer create handle");
status = ucfg_mlme_vdev_deinit();
if (QDF_IS_STATUS_ERROR(status))
mlme_legacy_err("unable to unregister vdev destroy handle");
status = wlan_objmgr_unregister_psoc_destroy_handler(
WLAN_UMAC_COMP_MLME,
mlme_psoc_object_destroyed_notification,
@ -207,7 +136,6 @@ void ucfg_mlme_psoc_close(struct wlan_objmgr_psoc *psoc)
/* Clear the MLME CFG Structure */
}
#ifdef CONFIG_VDEV_SM
QDF_STATUS ucfg_mlme_pdev_open(struct wlan_objmgr_pdev *pdev)
{
struct pdev_mlme_obj *pdev_mlme;
@ -226,7 +154,6 @@ QDF_STATUS ucfg_mlme_pdev_close(struct wlan_objmgr_pdev *pdev)
{
return QDF_STATUS_SUCCESS;
}
#endif
QDF_STATUS
ucfg_mlme_get_sta_keep_alive_period(struct wlan_objmgr_psoc *psoc,

View file

@ -2704,7 +2704,6 @@ lim_del_sta(struct mac_context *mac,
*
* Return: None
*/
#ifdef CONFIG_VDEV_SM
static void lim_set_mbssid_info(struct pe_session *pe_session)
{
struct scan_mbssid_info *mbssid_info;
@ -2712,11 +2711,6 @@ static void lim_set_mbssid_info(struct pe_session *pe_session)
mbssid_info = &pe_session->pLimJoinReq->bssDescription.mbssid_info;
mlme_set_mbssid_info(pe_session->vdev, mbssid_info);
}
#else
static void lim_set_mbssid_info(struct pe_session *pe_session)
{
}
#endif
/**
* lim_add_sta_self()

View file

@ -386,7 +386,6 @@ ibss_coalesce_save(struct mac_context *mac,
qdf_mem_copy(mac->lim.ibss_info.beacon, pBeacon, sizeof(*pBeacon));
}
#ifdef CONFIG_VDEV_SM
static QDF_STATUS lim_ibss_add_bss(
struct mac_context *mac,
struct pe_session *session,
@ -403,50 +402,6 @@ void lim_ibss_delete(struct mac_context *mac, struct pe_session *session)
ibss_coalesce_free(mac);
}
static void lim_ibss_delete_peers(struct mac_context *mac,
struct pe_session *session)
{}
#else
/**
* lim_ibss_add_bss() - ibss add bss
*
* @mac: Pointer to Global MAC structure
* @session: Pointer to session entry
* @mlmStartReq: Pointer to mlme start request
*
* Return: none
*/
static QDF_STATUS lim_ibss_add_bss(
struct mac_context *mac,
struct pe_session *session,
tLimMlmStartReq mlmStartReq)
{
return lim_mlm_add_bss(mac, &mlmStartReq, session) ==
eSIR_SME_SUCCESS ? QDF_STATUS_SUCCESS : QDF_STATUS_E_FAILURE;
}
void lim_ibss_delete(struct mac_context *mac, struct pe_session *session)
{
lim_ibss_delete_all_peers(mac, session);
ibss_coalesce_free(mac);
}
/**
* lim_ibss_delete_peers() - Delete ibss peer entries
*
* @mac: Pointer to Global MAC structure
* @session: Pointer to session entry
*
* Return: none
*/
static void lim_ibss_delete_peers(struct mac_context *mac,
struct pe_session *session)
{
/* Delete peer entries. */
lim_ibss_delete_all_peers(mac, session);
}
#endif
/*
* tries to add a new entry to dph hash node
* if necessary, an existing entry is eliminated
@ -1267,7 +1222,6 @@ void lim_ibss_del_bss_rsp_when_coalescing(struct mac_context *mac, void *msg,
}
/* Delete peer entries. */
lim_ibss_delete_peers(mac, pe_session);
/* add the new bss */
ibss_bss_add(mac, pe_session);
end:
@ -1389,7 +1343,6 @@ end:
}
}
#ifdef CONFIG_VDEV_SM
static void lim_ibss_bss_delete(struct mac_context *mac,
struct pe_session *pe_session)
{
@ -1403,13 +1356,6 @@ static void lim_ibss_bss_delete(struct mac_context *mac,
if (QDF_IS_STATUS_ERROR(status))
pe_err("Deliver WLAN_VDEV_SM_EV_DOWN failed");
}
#else
static void lim_ibss_bss_delete(struct mac_context *mac,
struct pe_session *pe_session)
{
ibss_bss_delete(mac, pe_session);
}
#endif
/**
* lim_ibss_coalesce()

View file

@ -2071,11 +2071,9 @@ static void lim_process_messages(struct mac_context *mac_ctx,
qdf_mem_free((void *)msg->bodyptr);
msg->bodyptr = NULL;
break;
#ifdef CONFIG_VDEV_SM
case eWNI_SME_CSA_RESTART_REQ:
lim_send_csa_restart_req(mac_ctx, msg->bodyval);
break;
#endif
case eWNI_SME_STA_CSA_CONTINUE_REQ:
lim_continue_sta_csa_req(mac_ctx, msg->bodyval);
break;

View file

@ -219,7 +219,6 @@ error:
protStatusCode, pe_session, smesessionId);
}
#ifdef CONFIG_VDEV_SM
/**
* lim_process_mlm_reassoc_cnf() - process mlm reassoc cnf msg
*
@ -376,120 +375,6 @@ QDF_STATUS lim_sta_reassoc_error_handler(struct reassoc_params *param)
return QDF_STATUS_SUCCESS;
}
#else
/**
* lim_process_mlm_reassoc_cnf() - process mlm reassoc cnf msg
*
* @mac_ctx: Pointer to Global MAC structure
* @msg_buf: A pointer to the MLM message buffer
*
* This function is called to process MLM_REASSOC_CNF message from MLM State
* machine.
*
* @Return: void
*/
void lim_process_mlm_reassoc_cnf(struct mac_context *mac_ctx, uint32_t *msg_buf)
{
struct pe_session *session;
tLimMlmReassocCnf *lim_mlm_reassoc_cnf;
if (!msg_buf) {
pe_err("Buffer is Pointing to NULL");
return;
}
lim_mlm_reassoc_cnf = (tLimMlmReassocCnf *) msg_buf;
session = pe_find_session_by_session_id(mac_ctx,
lim_mlm_reassoc_cnf->sessionId);
if (!session) {
pe_err("session Does not exist for given session Id");
return;
}
if ((session->limSmeState != eLIM_SME_WT_REASSOC_STATE) ||
LIM_IS_AP_ROLE(session)) {
/*
* Should not have received Reassocication confirm
* from MLM in other states OR on AP.
*/
pe_err("Rcv unexpected MLM_REASSOC_CNF role: %d sme 0x%X",
GET_LIM_SYSTEM_ROLE(session), session->limSmeState);
return;
}
/*
* Upon Reassoc success or failure, freeup the cached preauth request,
* to ensure that channel switch is now allowed following any change in
* HT params.
*/
if (session->ftPEContext.pFTPreAuthReq) {
pe_debug("Freeing pFTPreAuthReq: %pK",
session->ftPEContext.pFTPreAuthReq);
if (session->ftPEContext.pFTPreAuthReq->pbssDescription) {
qdf_mem_free(
session->ftPEContext.pFTPreAuthReq->pbssDescription);
session->ftPEContext.pFTPreAuthReq->pbssDescription =
NULL;
}
qdf_mem_free(session->ftPEContext.pFTPreAuthReq);
session->ftPEContext.pFTPreAuthReq = NULL;
session->ftPEContext.ftPreAuthSession = false;
}
#ifdef WLAN_FEATURE_ROAM_OFFLOAD
if (session->bRoamSynchInProgress) {
pe_debug("LFR3:Re-set the LIM Ctxt Roam Synch In Progress");
session->bRoamSynchInProgress = false;
}
#endif
pe_debug("Rcv MLM_REASSOC_CNF with result code: %d",
lim_mlm_reassoc_cnf->resultCode);
if (lim_mlm_reassoc_cnf->resultCode == eSIR_SME_SUCCESS) {
/* Successful Reassociation */
pe_debug("*** Reassociated with new BSS ***");
session->limSmeState = eLIM_SME_LINK_EST_STATE;
MTRACE(mac_trace(mac_ctx, TRACE_CODE_SME_STATE,
session->peSessionId, session->limSmeState));
/* Need to send Reassoc rsp with Reassoc success to Host. */
lim_send_sme_join_reassoc_rsp(mac_ctx, eWNI_SME_REASSOC_RSP,
lim_mlm_reassoc_cnf->resultCode,
lim_mlm_reassoc_cnf->protStatusCode,
session, session->smeSessionId);
} else if (lim_mlm_reassoc_cnf->resultCode
== eSIR_SME_REASSOC_REFUSED) {
/*
* Reassociation failure With the New AP but we still have the
* link with the Older AP
*/
session->limSmeState = eLIM_SME_LINK_EST_STATE;
MTRACE(mac_trace(mac_ctx, TRACE_CODE_SME_STATE,
session->peSessionId, session->limSmeState));
/* Need to send Reassoc rsp with Assoc failure to Host. */
lim_send_sme_join_reassoc_rsp(mac_ctx, eWNI_SME_REASSOC_RSP,
lim_mlm_reassoc_cnf->resultCode,
lim_mlm_reassoc_cnf->protStatusCode,
session, session->smeSessionId);
} else {
/* Reassociation failure */
session->limSmeState = eLIM_SME_JOIN_FAILURE_STATE;
MTRACE(mac_trace(mac_ctx, TRACE_CODE_SME_STATE,
session->peSessionId, session->limSmeState));
/* Need to send Reassoc rsp with Assoc failure to Host. */
lim_handle_sme_reaasoc_result(mac_ctx,
lim_mlm_reassoc_cnf->resultCode,
lim_mlm_reassoc_cnf->protStatusCode,
session);
}
if (session->pLimReAssocReq) {
qdf_mem_free(session->pLimReAssocReq);
session->pLimReAssocReq = NULL;
}
}
#endif
/**
* lim_process_sta_mlm_add_bss_rsp_ft() - Handle the ADD BSS response
* @mac: Global MAC context

View file

@ -1271,7 +1271,6 @@ static void lim_join_result_callback(struct mac_context *mac, void *param,
qdf_mem_free(link_state_params);
}
#ifdef CONFIG_VDEV_SM
QDF_STATUS lim_sta_send_down_link(join_params *param)
{
struct pe_session *session;
@ -1405,85 +1404,6 @@ void lim_handle_sme_join_result(struct mac_context *mac_ctx,
sizeof(param), &param);
return;
}
#else
void lim_handle_sme_join_result(struct mac_context *mac_ctx,
tSirResultCodes result_code, uint16_t prot_status_code,
struct pe_session *session_entry)
{
tpDphHashNode sta_ds = NULL;
uint8_t sme_session_id;
join_params *param = NULL;
if (!session_entry) {
pe_err("pe_session is NULL");
return;
}
sme_session_id = session_entry->smeSessionId;
/*
* When associations is failed , delete the session created
* and pass NULL to limsendsmeJoinReassocRsp()
*/
if (result_code != eSIR_SME_SUCCESS) {
sta_ds =
dph_get_hash_entry(mac_ctx, DPH_STA_HASH_INDEX_PEER,
&session_entry->dph.dphHashTable);
if (sta_ds) {
sta_ds->mlmStaContext.disassocReason =
eSIR_MAC_UNSPEC_FAILURE_REASON;
sta_ds->mlmStaContext.cleanupTrigger =
eLIM_JOIN_FAILURE;
sta_ds->mlmStaContext.resultCode = result_code;
sta_ds->mlmStaContext.protStatusCode = prot_status_code;
/*
* FIX_ME: at the end of lim_cleanup_rx_path,
* make sure PE is sending eWNI_SME_JOIN_RSP
* to SME
*/
lim_cleanup_rx_path(mac_ctx, sta_ds, session_entry);
qdf_mem_free(session_entry->pLimJoinReq);
session_entry->pLimJoinReq = NULL;
/* Cleanup if add bss failed */
if (session_entry->add_bss_failed) {
dph_delete_hash_entry(mac_ctx,
sta_ds->staAddr, sta_ds->assocId,
&session_entry->dph.dphHashTable);
goto error;
}
return;
}
qdf_mem_free(session_entry->pLimJoinReq);
session_entry->pLimJoinReq = NULL;
}
error:
/* Delete the session if JOIN failure occurred.
* if the peer is not created, then there is no
* need to send down the set link state which will
* try to delete the peer. Instead a join response
* failure should be sent to the upper layers.
*/
if (result_code != eSIR_SME_SUCCESS &&
result_code != eSIR_SME_PEER_CREATE_FAILED) {
param = qdf_mem_malloc(sizeof(join_params));
if (param) {
param->result_code = result_code;
param->prot_status_code = prot_status_code;
param->pe_session_id = session_entry->peSessionId;
}
if (lim_set_link_state(mac_ctx, eSIR_LINK_DOWN_STATE,
session_entry->bssId,
session_entry->selfMacAddr,
lim_join_result_callback,
param) != QDF_STATUS_SUCCESS) {
qdf_mem_free(param);
pe_err("Failed to set the LinkState");
}
return;
}
lim_send_sme_join_reassoc_rsp(mac_ctx, eWNI_SME_JOIN_RSP, result_code,
prot_status_code, session_entry, sme_session_id);
}
#endif
/**

View file

@ -477,7 +477,6 @@ lim_configure_ap_start_bss_session(struct mac_context *mac_ctx,
*
* Return: QDF_STATUS
*/
#ifdef CONFIG_VDEV_SM
static QDF_STATUS
lim_send_start_vdev_req(struct pe_session *session, tLimMlmStartReq *mlm_start_req)
{
@ -486,15 +485,6 @@ lim_send_start_vdev_req(struct pe_session *session, tLimMlmStartReq *mlm_start_r
sizeof(*mlm_start_req),
mlm_start_req);
}
#else
static QDF_STATUS
lim_send_start_vdev_req(struct pe_session *session, tLimMlmStartReq *mlm_start_req)
{
lim_process_mlm_start_req(session->mac_ctx, mlm_start_req);
return QDF_STATUS_SUCCESS;
}
#endif
/**
* __lim_handle_sme_start_bss_request() - process SME_START_BSS_REQ message
@ -1074,8 +1064,6 @@ static inline void lim_update_sae_config(struct pe_session *session,
*
* Return: QDF_STATUS
*/
#ifdef CONFIG_VDEV_SM
static QDF_STATUS lim_send_join_req(struct pe_session *session,
tLimMlmJoinReq *mlm_join_req)
{
@ -1090,15 +1078,6 @@ static QDF_STATUS lim_send_join_req(struct pe_session *session,
sizeof(*mlm_join_req),
mlm_join_req);
}
#else
static QDF_STATUS lim_send_join_req(struct pe_session *session,
tLimMlmJoinReq *mlm_join_req)
{
lim_process_mlm_join_req(session->mac_ctx, mlm_join_req);
return QDF_STATUS_SUCCESS;
}
#endif
/**
* lim_send_reassoc_req() - send vdev start request for reassoc
@ -1107,8 +1086,6 @@ static QDF_STATUS lim_send_join_req(struct pe_session *session,
*
* Return: QDF_STATUS
*/
#ifdef CONFIG_VDEV_SM
static QDF_STATUS lim_send_reassoc_req(struct pe_session *session,
tLimMlmReassocReq *reassoc_req)
{
@ -1123,15 +1100,6 @@ static QDF_STATUS lim_send_reassoc_req(struct pe_session *session,
sizeof(*reassoc_req),
reassoc_req);
}
#else
static QDF_STATUS lim_send_reassoc_req(struct pe_session *session,
tLimMlmReassocReq *reassoc_req)
{
lim_process_mlm_reassoc_req(session->mac_ctx, reassoc_req);
return QDF_STATUS_SUCCESS;
}
#endif
/**
* lim_send_ft_reassoc_req() - send vdev start request for ft_reassoc
@ -1140,8 +1108,6 @@ static QDF_STATUS lim_send_reassoc_req(struct pe_session *session,
*
* Return: QDF_STATUS
*/
#ifdef CONFIG_VDEV_SM
static QDF_STATUS lim_send_ft_reassoc_req(struct pe_session *session,
tLimMlmReassocReq *reassoc_req)
{
@ -1156,15 +1122,6 @@ static QDF_STATUS lim_send_ft_reassoc_req(struct pe_session *session,
sizeof(*reassoc_req),
reassoc_req);
}
#else
static QDF_STATUS lim_send_ft_reassoc_req(struct pe_session *session,
tLimMlmReassocReq *reassoc_req)
{
lim_process_mlm_ft_reassoc_req(session->mac_ctx, reassoc_req);
return QDF_STATUS_SUCCESS;
}
#endif
#ifdef WLAN_FEATURE_11W
#ifdef WLAN_CONV_CRYPTO_IE_SUPPORT
@ -2887,7 +2844,6 @@ QDF_STATUS lim_send_vdev_stop(struct pe_session *session)
*
* Return None
*/
#ifdef CONFIG_VDEV_SM
static void lim_delete_peers_and_send_vdev_stop(struct pe_session *session)
{
struct mac_context *mac_ctx = session->mac_ctx;
@ -2907,14 +2863,6 @@ static void lim_delete_peers_and_send_vdev_stop(struct pe_session *session)
if (QDF_IS_STATUS_ERROR(status))
lim_send_stop_bss_failure_resp(mac_ctx, session);
}
#else
static void lim_delete_peers_and_send_vdev_stop(struct pe_session *session)
{
lim_delete_all_peers(session);
/* send a delBss to HAL and wait for a response */
lim_send_vdev_stop(session);
}
#endif
static void
__lim_handle_sme_stop_bss_request(struct mac_context *mac, uint32_t *pMsgBuf)
@ -3799,7 +3747,6 @@ static void lim_process_roam_invoke(struct mac_context *mac_ctx,
}
#endif
#ifdef CONFIG_VDEV_SM
static void lim_handle_update_ssid_hidden(struct mac_context *mac_ctx,
struct pe_session *session, uint8_t ssid_hidden)
{
@ -3818,37 +3765,7 @@ static void lim_handle_update_ssid_hidden(struct mac_context *mac_ctx,
WLAN_VDEV_SM_EV_FW_VDEV_RESTART,
sizeof(*session), session);
}
#else
/*
* lim_handle_update_ssid_hidden() - Processes SSID hidden update
* @mac_ctx: Pointer to global mac context
* @session: Pointer to PE session
* @ssid_hidden: SSID hidden value to set; 0 - Broadcast SSID,
* 1 - Disable broadcast SSID
*
* Return: None
*/
static void lim_handle_update_ssid_hidden(
struct mac_context *mac_ctx,
struct pe_session *session,
uint8_t ssid_hidden)
{
pe_debug("rcvd HIDE_SSID message old HIDE_SSID: %d new HIDE_SSID: %d",
session->ssidHidden, ssid_hidden);
if (ssid_hidden != session->ssidHidden) {
session->ssidHidden = ssid_hidden;
} else {
pe_debug("Dont process HIDE_SSID msg with existing setting");
return;
}
/* Send vdev restart */
lim_send_vdev_restart(mac_ctx, session, session->smeSessionId);
return;
}
#endif
/**
* __lim_process_sme_session_update - process SME session update msg
*
@ -4582,7 +4499,6 @@ static void lim_process_sme_update_access_policy_vendor_ie(
pe_session_entry->access_policy = update_vendor_ie->access_policy;
}
#ifdef CONFIG_VDEV_SM
QDF_STATUS lim_sta_mlme_vdev_disconnect_bss(struct vdev_mlme_obj *vdev_mlme,
uint16_t data_len, void *data)
{
@ -4730,55 +4646,6 @@ static void lim_process_sme_deauth_req(struct mac_context *mac_ctx,
__lim_process_sme_deauth_req(mac_ctx,
(uint32_t *)msg->bodyptr);
}
#else
/**
* lim_process_sme_disassoc_cnf() - process sme disassoc cnf message
* @mac_ctx: Pointer to Global MAC structure
* @msg: pointer to message buffer
*
* This function is called to process SME_DISASSOC_CNF message
* from HDD or upper layer application.
*
* Return: None
*/
static void lim_process_sme_disassoc_cnf(struct mac_context *mac_ctx,
struct scheduler_msg *msg)
{
__lim_process_sme_disassoc_cnf(mac_ctx, (uint32_t *)msg->bodyptr);
}
/**
* lim_process_sme_disassoc_req() - process sme deauth req
* @mac_ctx: Pointer to Global MAC structure
* @msg: pointer to message buffer
*
* This function is called to process SME_DISASSOC_REQ message
* from HDD or upper layer application.
*
* Return: None
*/
static void lim_process_sme_disassoc_req(struct mac_context *mac_ctx,
struct scheduler_msg *msg)
{
__lim_process_sme_disassoc_req(mac_ctx, (uint32_t *)msg->bodyptr);
}
/**
* lim_process_sme_deauth_req() - process sme deauth req
* @mac_ctx: Pointer to Global MAC structure
* @msg: pointer to message buffer
*
* This function is called to process SME_DEAUTH_REQ message
* from HDD or upper layer application.
*
* Return: None
*/
static void lim_process_sme_deauth_req(struct mac_context *mac_ctx,
struct scheduler_msg *msg)
{
__lim_process_sme_deauth_req(mac_ctx, (uint32_t *)msg->bodyptr);
}
#endif
/**
* lim_process_sme_req_messages()
@ -5089,7 +4956,6 @@ static void lim_process_sme_start_beacon_req(struct mac_context *mac, uint32_t *
}
}
#ifdef CONFIG_VDEV_SM
static void lim_change_channel(
struct mac_context *mac_ctx,
struct pe_session *session_entry)
@ -5107,31 +4973,6 @@ static void lim_change_channel(
sizeof(*session_entry),
session_entry);
}
#else
/**
* lim_change_channel() - lim change channel api
*
* @mac_ctx: Pointer to Global MAC structure
* @session_entry: pointer to the SME message buffer
*
* This function is called to process SME_CHANNEL_CHANGE_REQ message
*
* Return: None
*/
static void lim_change_channel(
struct mac_context *mac_ctx,
struct pe_session *session_entry)
{
lim_set_channel(mac_ctx, session_entry->currentOperChannel,
session_entry->ch_center_freq_seg0,
session_entry->ch_center_freq_seg1,
session_entry->ch_width,
session_entry->maxTxPower,
session_entry->peSessionId,
session_entry->cac_duration_ms,
session_entry->dfs_regdomain);
}
#endif
/**
* lim_process_sme_channel_change_request() - process sme ch change req
@ -6412,7 +6253,6 @@ void lim_process_obss_color_collision_info(struct mac_context *mac_ctx,
}
#endif
#ifdef CONFIG_VDEV_SM
void lim_send_csa_restart_req(struct mac_context *mac_ctx, uint8_t vdev_id)
{
struct pe_session *session;
@ -6428,7 +6268,6 @@ void lim_send_csa_restart_req(struct mac_context *mac_ctx, uint8_t vdev_id)
WLAN_VDEV_SM_EV_CSA_RESTART,
sizeof(*session), session);
}
#endif
void lim_continue_sta_csa_req(struct mac_context *mac_ctx, uint8_t vdev_id)
{

View file

@ -1123,7 +1123,6 @@ void lim_process_mlm_join_req(struct mac_context *mac_ctx,
*/
void lim_process_mlm_deauth_req(struct mac_context *mac_ctx, uint32_t *msg_buf);
#ifdef CONFIG_VDEV_SM
/**
* lim_sta_mlme_vdev_disconnect_bss() - Disconnect from BSS
* @vdev_mlme_obj: VDEV MLME comp object
@ -1137,7 +1136,7 @@ void lim_process_mlm_deauth_req(struct mac_context *mac_ctx, uint32_t *msg_buf);
*/
QDF_STATUS lim_sta_mlme_vdev_disconnect_bss(struct vdev_mlme_obj *vdev_mlme,
uint16_t data_len, void *data);
#endif
/**
* lim_process_assoc_cleanup() - frees up resources used in function
* lim_process_assoc_req_frame()

View file

@ -1909,7 +1909,6 @@ static void __lim_process_channel_switch_timeout(struct pe_session *pe_session)
}
}
#ifdef CONFIG_VDEV_SM
void lim_disconnect_complete(struct pe_session *session, bool del_bss)
{
QDF_STATUS status;
@ -1956,34 +1955,6 @@ void lim_process_channel_switch_timeout(struct mac_context *mac_ctx)
if (QDF_IS_STATUS_ERROR(status))
mlme_set_chan_switch_in_progress(session_entry->vdev, false);
}
#else
void lim_disconnect_complete(struct pe_session *session, bool del_bss)
{
if (del_bss)
lim_sta_send_del_bss(session);
}
/**
* lim_process_channel_switch_timeout() - process chanel switch timeout
* @mac: pointer to Global MAC structure
*
* Return: none
*/
void lim_process_channel_switch_timeout(struct mac_context *mac_ctx)
{
struct pe_session *session_entry;
session_entry = pe_find_session_by_session_id(
mac_ctx,
mac_ctx->lim.limTimers.gLimChannelSwitchTimer.sessionId);
if (!session_entry) {
pe_err("Session does not exist for given sessionID");
return;
}
__lim_process_channel_switch_timeout(session_entry);
}
#endif
/**
* lim_update_channel_switch() - This Function updates channel switch
@ -2176,7 +2147,6 @@ lim_util_count_sta_del(struct mac_context *mac,
sch_edca_profile_update(mac, pe_session);
}
#ifdef CONFIG_VDEV_SM
/**
* lim_switch_channel_vdev_started() - Send vdev started when switch channel
*
@ -2195,9 +2165,6 @@ static void lim_switch_channel_vdev_started(struct pe_session *pe_session)
WLAN_VDEV_SM_EV_START_SUCCESS,
sizeof(*pe_session), pe_session);
}
#else
static void lim_switch_channel_vdev_started(struct pe_session *pe_session) {}
#endif
/**
* lim_switch_channel_cback()
@ -3865,7 +3832,6 @@ QDF_STATUS lim_tx_complete(void *context, qdf_nbuf_t buf, bool free)
return QDF_STATUS_SUCCESS;
}
#ifdef CONFIG_VDEV_SM
static void lim_ht_width_switch_cback(struct mac_context *mac,
QDF_STATUS status, uint32_t *data,
struct pe_session *pe_session)
@ -3875,15 +3841,6 @@ static void lim_ht_width_switch_cback(struct mac_context *mac,
if (QDF_IS_STATUS_SUCCESS(status))
lim_switch_channel_vdev_started(pe_session);
}
#else
static void lim_ht_width_switch_cback(struct mac_context *mac,
QDF_STATUS status, uint32_t *data,
struct pe_session *pe_session)
{
pe_debug("status %d for ht width switch for vdev %d", status,
pe_session->smeSessionId);
}
#endif
static void lim_ht_switch_chnl_params(struct pe_session *pe_session)
{
@ -3928,7 +3885,6 @@ static void lim_ht_switch_chnl_params(struct pe_session *pe_session)
true, 0, 0);
}
#ifdef CONFIG_VDEV_SM
static void lim_ht_switch_chnl_req(struct pe_session *session)
{
struct mac_context *mac;
@ -3954,13 +3910,6 @@ static void lim_ht_switch_chnl_req(struct pe_session *session)
mlme_set_chan_switch_in_progress(session->vdev, false);
}
}
#else
static void lim_ht_switch_chnl_req(struct pe_session *session)
{
lim_ht_switch_chnl_params(session);
}
#endif
/**
* \brief This function updates lim global structure, if CB parameters in the BSS
@ -7858,7 +7807,6 @@ void lim_process_ap_ecsa_timeout(void *data)
}
}
#ifdef CONFIG_VDEV_SM
QDF_STATUS lim_sta_mlme_vdev_start_send(struct vdev_mlme_obj *vdev_mlme,
uint16_t data_len, void *data)
{
@ -8192,25 +8140,6 @@ void lim_send_start_bss_confirm(struct mac_context *mac_ctx,
}
}
#else
void lim_send_start_bss_confirm(struct mac_context *mac_ctx,
tLimMlmStartCnf *start_cnf)
{
lim_post_sme_message(mac_ctx, LIM_MLM_START_CNF,
(uint32_t *)start_cnf);
}
void lim_send_beacon(struct mac_context *mac_ctx, struct pe_session *session)
{
lim_send_beacon_ind(mac_ctx, session, REASON_DEFAULT);
}
void lim_ndi_mlme_vdev_up_transition(struct pe_session *session)
{
}
#endif
/**
* lim_get_dot11d_transmit_power() - regulatory max transmit power
* @mac: pointer to mac data

View file

@ -1548,7 +1548,6 @@ void lim_ndi_mlme_vdev_up_transition(struct pe_session *session);
*/
void lim_disconnect_complete(struct pe_session *session, bool del_bss);
#ifdef CONFIG_VDEV_SM
/**
* lim_sta_mlme_vdev_stop_send() - send VDEV stop
* @vdev_mlme_obj: VDEV MLME comp object
@ -1690,8 +1689,6 @@ QDF_STATUS lim_ap_mlme_vdev_restart_send(struct vdev_mlme_obj *vdev_mlme,
QDF_STATUS lim_ap_mlme_vdev_start_req_failed(struct vdev_mlme_obj *vdev_mlme,
uint16_t data_len, void *data);
#endif
#ifdef CRYPTO_SET_KEY_CONVERGED
static inline bool lim_is_set_key_req_converged(void)
{

View file

@ -2281,7 +2281,6 @@ static QDF_STATUS sap_goto_starting(struct sap_context *sap_ctx,
return qdf_status;
}
#ifdef CONFIG_VDEV_SM
/**
* sap_move_to_cac_wait_state() - move to cac wait state
* @sap_ctx: SAP context
@ -2298,12 +2297,6 @@ static QDF_STATUS sap_move_to_cac_wait_state(struct sap_context *sap_ctx)
0, NULL);
return status;
}
#else
static inline QDF_STATUS sap_move_to_cac_wait_state(struct sap_context *sap_ctx)
{
return QDF_STATUS_SUCCESS;
}
#endif
/**
* sap_fsm_cac_start() - start cac wait timer
@ -2313,7 +2306,6 @@ static inline QDF_STATUS sap_move_to_cac_wait_state(struct sap_context *sap_ctx)
*
* Return: QDF_STATUS
*/
#ifdef CONFIG_VDEV_SM
static QDF_STATUS sap_fsm_cac_start(struct sap_context *sap_ctx,
struct mac_context *mac_ctx,
mac_handle_t mac_handle)
@ -2333,29 +2325,6 @@ static QDF_STATUS sap_fsm_cac_start(struct sap_context *sap_ctx,
return sap_cac_start_notify(mac_handle);
}
#else
static QDF_STATUS sap_fsm_cac_start(struct sap_context *sap_ctx,
struct mac_context *mac_ctx,
mac_handle_t mac_handle)
{
/*
* No need of state check here, caller is expected to perform
* the checks before sending the event
*/
sap_ctx->fsm_state = SAP_DFS_CAC_WAIT;
QDF_TRACE(QDF_MODULE_ID_SAP, QDF_TRACE_LEVEL_INFO_MED,
FL("Move sap state to SAP_DFS_CAC_WAIT"));
if (!mac_ctx->sap.SapDfsInfo.is_dfs_cac_timer_running) {
QDF_TRACE(QDF_MODULE_ID_SAP, QDF_TRACE_LEVEL_INFO_MED,
FL("sapdfs: starting dfs cac timer on sapctx[%pK]"),
sap_ctx);
sap_start_dfs_cac_timer(sap_ctx);
}
return sap_cac_start_notify(mac_handle);
}
#endif
/**
* sap_fsm_state_init() - utility function called from sap fsm
@ -2471,15 +2440,6 @@ static QDF_STATUS sap_fsm_handle_radar_during_cac(struct sap_context *sap_ctx,
return QDF_STATUS_SUCCESS;
}
#ifdef CONFIG_VDEV_SM
static QDF_STATUS sap_fsm_state_dfs_cac_wait(struct sap_context *sap_ctx,
struct sap_sm_event *sap_event,
struct mac_context *mac_ctx,
mac_handle_t mac_handle)
{
return QDF_STATUS_SUCCESS;
}
/**
* sap_fsm_handle_start_failure() - handle start failure or stop during cac wait
* @sap_ctx: SAP context
@ -2537,88 +2497,6 @@ static QDF_STATUS sap_fsm_handle_start_failure(struct sap_context *sap_ctx,
return qdf_status;
}
#else
/**
* sap_fsm_state_dfs_cac_wait() - utility function called from sap fsm
* @sap_ctx: SAP context
* @sap_event: SAP event buffer
* @mac_ctx: global MAC context
* @mac_handle: Opaque handle to the global MAC context
*
* This function is called for state transition from "SAP_DFS_CAC_WAIT"
*
* Return: QDF_STATUS
*/
static QDF_STATUS sap_fsm_state_dfs_cac_wait(struct sap_context *sap_ctx,
struct sap_sm_event *sap_event,
struct mac_context *mac_ctx,
mac_handle_t mac_handle)
{
uint32_t msg = sap_event->event;
struct csr_roam_info *roam_info =
(struct csr_roam_info *) (sap_event->params);
QDF_STATUS qdf_status = QDF_STATUS_E_FAILURE;
if (msg == eSAP_DFS_CHANNEL_CAC_START) {
QDF_TRACE(QDF_MODULE_ID_SAP, QDF_TRACE_LEVEL_INFO_HIGH,
FL("from state %s => %s"),
"SAP_STARTING", "SAP_DFS_CAC_WAIT");
if (mac_ctx->sap.SapDfsInfo.is_dfs_cac_timer_running != true)
sap_start_dfs_cac_timer(sap_ctx);
qdf_status = sap_cac_start_notify(mac_handle);
} else if (msg == eSAP_DFS_CHANNEL_CAC_RADAR_FOUND) {
qdf_status = sap_fsm_handle_radar_during_cac(sap_ctx, mac_ctx);
} else if (msg == eSAP_DFS_CHANNEL_CAC_END) {
qdf_status = sap_cac_end_notify(mac_handle, roam_info);
} else if (msg == eSAP_HDD_STOP_INFRA_BSS) {
/* Transition from SAP_DFS_CAC_WAIT to SAP_STOPPING */
QDF_TRACE(QDF_MODULE_ID_SAP, QDF_TRACE_LEVEL_INFO_HIGH,
FL("from state %s => %s"),
"SAP_DFS_CAC_WAIT", "SAP_STOPPING");
/*
* Stop the CAC timer only in following conditions
* single AP: if there is a single AP then stop the timer
* mulitple APs: incase of multiple APs, make sure that
* all APs are down.
*/
if (!sap_find_valid_concurrent_session(mac_handle)) {
QDF_TRACE(QDF_MODULE_ID_SAP,
QDF_TRACE_LEVEL_INFO_MED,
FL("sapdfs: no sessions are valid, stopping timer"));
sap_stop_dfs_cac_timer(sap_ctx);
}
sap_ctx->fsm_state = SAP_STOPPING;
qdf_status = sap_goto_stopping(sap_ctx);
} else {
QDF_TRACE(QDF_MODULE_ID_SAP, QDF_TRACE_LEVEL_ERROR,
FL("in state %s, invalid event msg %d"),
"SAP_DFS_CAC_WAIT", msg);
}
return qdf_status;
}
static QDF_STATUS sap_fsm_handle_start_failure(struct sap_context *sap_ctx,
uint32_t msg,
mac_handle_t mac_handle)
{
/*
* Transition from SAP_STARTING to SAP_INIT
* (both without substates)
*/
QDF_TRACE(QDF_MODULE_ID_SAP, QDF_TRACE_LEVEL_INFO_HIGH,
FL("from state %s => %s"),
"SAP_STARTING", "SAP_INIT");
/* Advance outer statevar */
sap_ctx->fsm_state = SAP_INIT;
sap_signal_hdd_event(sap_ctx, NULL, eSAP_START_BSS_EVENT,
(void *)eSAP_STATUS_FAILURE);
return sap_goto_init(sap_ctx);
}
#endif
/**
* sap_fsm_state_starting() - utility function called from sap fsm
@ -2740,7 +2618,6 @@ static QDF_STATUS sap_fsm_state_starting(struct sap_context *sap_ctx,
return qdf_status;
}
#ifdef CONFIG_VDEV_SM
/**
* sap_fsm_send_csa_restart_req() - send csa start event
* @mac_ctx: mac ctx
@ -2755,50 +2632,6 @@ sap_fsm_send_csa_restart_req(struct mac_context *mac_ctx,
return sme_csa_restart(mac_ctx, sap_ctx->sessionId);
}
static inline QDF_STATUS
sap_handle_csa_anouncement_start(struct mac_context *mac_ctx,
struct sap_context *sap_ctx)
{
return QDF_STATUS_SUCCESS;
}
#else
static inline QDF_STATUS
sap_fsm_send_csa_restart_req(struct mac_context *mac_ctx,
struct sap_context *sap_ctx)
{
return wlansap_dfs_send_csa_ie_request(sap_ctx);
}
/**
* sap_handle_csa_anouncement_start() - start csa IE announcement request
* @mac_ctx: mac ctx
* @sap_ctx: SAP context
*
* Return: QDF_STATUS
*/
static inline QDF_STATUS
sap_handle_csa_anouncement_start(struct mac_context *mac_ctx,
struct sap_context *sap_ctx)
{
enum QDF_OPMODE persona;
QDF_STATUS qdf_status = QDF_STATUS_E_FAILURE;
if (!sap_ctx) {
QDF_TRACE(QDF_MODULE_ID_SAP, QDF_TRACE_LEVEL_ERROR,
FL("Invalid sap_ctx"));
return QDF_STATUS_E_FAILURE;
}
persona = mac_ctx->sap.sapCtxList[sap_ctx->sessionId].sapPersona;
QDF_TRACE(QDF_MODULE_ID_SAP, QDF_TRACE_LEVEL_INFO_MED,
FL("app trigger chan switch: mode:%d vdev:%d"),
persona, sap_ctx->sessionId);
if ((QDF_SAP_MODE == persona) || (QDF_P2P_GO_MODE == persona))
qdf_status = wlansap_dfs_send_csa_ie_request(sap_ctx);
return qdf_status;
}
#endif
/**
* sap_fsm_state_started() - utility function called from sap fsm
* @sap_ctx: SAP context
@ -2869,8 +2702,6 @@ static QDF_STATUS sap_fsm_state_started(struct sap_context *sap_ctx,
temp_sap_ctx);
}
}
} else if (msg == eSAP_CHANNEL_SWITCH_ANNOUNCEMENT_START) {
qdf_status = sap_handle_csa_anouncement_start(mac_ctx, sap_ctx);
} else {
QDF_TRACE(QDF_MODULE_ID_SAP, QDF_TRACE_LEVEL_ERROR,
FL("in state %s, invalid event msg %d"),
@ -2961,11 +2792,6 @@ QDF_STATUS sap_fsm(struct sap_context *sap_ctx, struct sap_sm_event *sap_event)
mac_ctx, mac_handle);
break;
case SAP_DFS_CAC_WAIT:
qdf_status = sap_fsm_state_dfs_cac_wait(sap_ctx, sap_event,
mac_ctx, mac_handle);
break;
case SAP_STARTING:
qdf_status = sap_fsm_state_starting(sap_ctx, sap_event,
mac_ctx, mac_handle);

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2014, 2018 The Linux Foundation. All rights reserved.
* Copyright (c) 2014, 2018-2019 The Linux Foundation. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@ -42,7 +42,6 @@ typedef enum {
eSAP_DFS_CHANNEL_CAC_END,
eSAP_DFS_CHNL_SWITCH_ANNOUNCEMENT_START,
eSAP_OPERATING_CHANNEL_CHANGED,
eSAP_CHANNEL_SWITCH_ANNOUNCEMENT_START,
eSAP_NO_MSG
} eSapMsg_t;

View file

@ -90,14 +90,12 @@
/**
* enum sap_fsm_state - SAP FSM states for Access Point role
* @SAP_INIT: init state
* @SAP_DFS_CAC_WAIT: cac wait
* @SAP_STARTING: starting phase
* @SAP_STARTED: up and running
* @SAP_STOPPING: about to stop and transitions to init
*/
enum sap_fsm_state {
SAP_INIT,
SAP_DFS_CAC_WAIT,
SAP_STARTING,
SAP_STARTED,
SAP_STOPPING
@ -462,7 +460,6 @@ uint8_t sap_select_default_oper_chan(struct sap_acs_cfg *acs_cfg);
*
* Return: true if sap is in cac wait state
*/
#ifdef CONFIG_VDEV_SM
static inline bool sap_is_dfs_cac_wait_state(struct sap_context *sap_ctx)
{
if (!sap_ctx)
@ -470,15 +467,6 @@ static inline bool sap_is_dfs_cac_wait_state(struct sap_context *sap_ctx)
return QDF_IS_STATUS_SUCCESS(wlan_vdev_is_dfs_cac_wait(sap_ctx->vdev));
}
#else
static inline bool sap_is_dfs_cac_wait_state(struct sap_context *sap_ctx)
{
if (!sap_ctx)
return false;
return (sap_ctx->fsm_state == SAP_DFS_CAC_WAIT);
}
#endif
/**
* sap_channel_in_acs_channel_list() - check if channel in acs channel list

View file

@ -1322,32 +1322,12 @@ wlansap_update_csa_channel_params(struct sap_context *sap_context,
*
* Return: QDF_STATUS
*/
#ifdef CONFIG_VDEV_SM
static inline void sap_start_csa_restart(struct mac_context *mac,
struct sap_context *sap_ctx)
{
sme_csa_restart(mac, sap_ctx->sessionId);
}
#else
static void sap_start_csa_restart(struct mac_context *mac,
struct sap_context *sap_ctx)
{
struct sap_sm_event sap_event;
/*
* Post the eSAP_CHANNEL_SWITCH_ANNOUNCEMENT_START
* to SAP state machine to process the channel
* request with CSA IE set in the beacons.
*/
sap_event.event =
eSAP_CHANNEL_SWITCH_ANNOUNCEMENT_START;
sap_event.params = 0;
sap_event.u1 = 0;
sap_event.u2 = 0;
sap_fsm(sap_ctx, &sap_event);
}
#endif
/**
* wlansap_set_channel_change_with_csa() - Set channel change with CSA
* @sap_ctx: Pointer to SAP context
@ -1772,7 +1752,6 @@ void wlansap_get_sec_channel(uint8_t sec_ch_offset,
__func__, sec_ch_offset, *sec_channel);
}
#ifdef CONFIG_VDEV_SM
static void
wlansap_set_cac_required_for_chan(struct mac_context *mac_ctx,
struct sap_context *sap_ctx)
@ -1811,13 +1790,6 @@ wlansap_set_cac_required_for_chan(struct mac_context *mac_ctx,
mlme_set_cac_required(sap_ctx->vdev, cac_required);
}
#else
static inline void
wlansap_set_cac_required_for_chan(struct mac_context *mac_ctx,
struct sap_context *sap_ctx)
{
}
#endif
QDF_STATUS wlansap_channel_change_request(struct sap_context *sap_ctx,
uint8_t target_channel)

View file

@ -956,7 +956,6 @@ QDF_STATUS sme_roam_start_beacon_req(mac_handle_t mac_handle,
struct qdf_mac_addr bssid,
uint8_t dfsCacWaitStatus);
#ifdef CONFIG_VDEV_SM
/**
* sme_csa_restart() - request CSA IE transmission from PE
* @mac_ctx: mac context
@ -965,7 +964,6 @@ QDF_STATUS sme_roam_start_beacon_req(mac_handle_t mac_handle,
* Return: QDF_STATUS
*/
QDF_STATUS sme_csa_restart(struct mac_context *mac_ctx, uint8_t session_id);
#endif
QDF_STATUS sme_roam_csa_ie_request(mac_handle_t mac_handle,
struct qdf_mac_addr bssid,

View file

@ -8967,7 +8967,6 @@ QDF_STATUS sme_roam_start_beacon_req(mac_handle_t mac_handle,
return status;
}
#ifdef CONFIG_VDEV_SM
QDF_STATUS sme_csa_restart(struct mac_context *mac_ctx, uint8_t session_id)
{
QDF_STATUS status = QDF_STATUS_E_FAILURE;
@ -8980,7 +8979,6 @@ QDF_STATUS sme_csa_restart(struct mac_context *mac_ctx, uint8_t session_id)
return status;
}
#endif
/**
* sme_roam_csa_ie_request() - request CSA IE transmission from PE

View file

@ -20871,7 +20871,6 @@ QDF_STATUS csr_send_ext_change_channel(struct mac_context *mac_ctx, uint32_t cha
return status;
}
#ifdef CONFIG_VDEV_SM
QDF_STATUS csr_csa_restart(struct mac_context *mac_ctx, uint8_t session_id)
{
QDF_STATUS status;
@ -20889,7 +20888,6 @@ QDF_STATUS csr_csa_restart(struct mac_context *mac_ctx, uint8_t session_id)
return status;
}
#endif
/**
* csr_roam_send_chan_sw_ie_request() - Request to transmit CSA IE

View file

@ -832,7 +832,7 @@ QDF_STATUS csr_roam_del_pmkid_from_cache(struct mac_context *mac,
QDF_STATUS csr_send_ext_change_channel(struct mac_context *mac_ctx,
uint32_t channel, uint8_t session_id);
#ifdef CONFIG_VDEV_SM
/**
* csr_csa_start() - request CSA IE transmission from PE
* @mac_ctx: handle returned by mac_open
@ -841,7 +841,6 @@ QDF_STATUS csr_send_ext_change_channel(struct mac_context *mac_ctx,
* Return: QDF_STATUS
*/
QDF_STATUS csr_csa_restart(struct mac_context *mac_ctx, uint8_t session_id);
#endif
/**
* csr_sta_continue_csa() - Continue for CSA for STA after HW mode change

View file

@ -680,9 +680,6 @@ 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;
@ -803,9 +800,6 @@ 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;
@ -1968,69 +1962,6 @@ static inline void wma_mgmt_nbuf_unmap_cb(struct wlan_objmgr_pdev *pdev,
int wma_chan_info_event_handler(void *handle, uint8_t *event_buf,
uint32_t len);
#ifdef CONFIG_VDEV_SM
static inline
void wma_vdev_set_mlme_state_stop(tp_wma_handle wma, uint8_t vdev_id) {}
static inline
void wma_vdev_set_mlme_state_run(tp_wma_handle wma, uint8_t vdev_id) {}
#else
/**
* wma_vdev_set_mlme_state() - Set vdev mlme state
* @wma: wma handle
* @vdev_id: the Id of the vdev to configure
* @state: vdev state
*
* Return: None
*/
static inline
void wma_vdev_set_mlme_state(tp_wma_handle wma, uint8_t vdev_id,
enum wlan_vdev_state state)
{
struct wlan_objmgr_vdev *vdev;
if (!wma) {
WMA_LOGE("%s: WMA context is invald!", __func__);
return;
}
vdev = wlan_objmgr_get_vdev_by_id_from_psoc(wma->psoc, vdev_id,
WLAN_LEGACY_WMA_ID);
if (vdev) {
wlan_vdev_obj_lock(vdev);
wlan_vdev_mlme_set_state(vdev, state);
wlan_vdev_obj_unlock(vdev);
wlan_objmgr_vdev_release_ref(vdev, WLAN_LEGACY_WMA_ID);
}
}
/**
* wma_vdev_set_mlme_state_stop() - Set vdev mlme state to stop
* @wma: wma handle
* @vdev_id: the Id of the vdev to configure
*
* Return: None
*/
static inline
void wma_vdev_set_mlme_state_stop(tp_wma_handle wma, uint8_t vdev_id)
{
wma_vdev_set_mlme_state(wma, vdev_id, WLAN_VDEV_S_STOP);
}
/**
* wma_vdev_set_mlme_state_run() - Set vdev mlme state to run
* @wma: wma handle
* @vdev_id: the Id of the vdev to configure
*
* Return: None
*/
static inline
void wma_vdev_set_mlme_state_run(tp_wma_handle wma, uint8_t vdev_id)
{
wma_vdev_set_mlme_state(wma, vdev_id, WLAN_VDEV_S_RUN);
}
#endif
/**
* wma_update_vdev_pause_bitmap() - update vdev pause bitmap
* @vdev_id: the Id of the vdev to configure

View file

@ -451,16 +451,6 @@ bool wma_get_hidden_ssid_restart_in_progress(struct wma_txrx_node *iface);
*/
bool wma_get_channel_switch_in_progress(struct wma_txrx_node *iface);
#ifdef CONFIG_VDEV_SM
static inline
void wma_set_hidden_ssid_restart_in_progress(struct wma_txrx_node *iface,
int val)
{}
static inline
void wma_set_channel_switch_in_progress(struct wma_txrx_node *iface)
{}
/**
* wma_sta_mlme_vdev_start_continue - VDEV start response handling
* @vdev_mlme_obj: VDEV MLME comp object
@ -589,27 +579,6 @@ QDF_STATUS wma_ap_mlme_vdev_stop_start_send(struct vdev_mlme_obj *vdev_mlme,
*/
QDF_STATUS wma_sta_mlme_vdev_down_send(struct vdev_mlme_obj *vdev_mlme,
uint16_t data_len, void *data);
#else
/**
* wma_set_hidden_ssid_restart_in_progress() - set hidden ssid restart is
* in progress
* @iface: iface pointer
* @val: value to be set
*
* Return: none
*/
void wma_set_hidden_ssid_restart_in_progress(struct wma_txrx_node *iface,
int val);
/**
* wma_set_channel_switch_in_progress() - set channel switch is in progress
* @iface: iface pointer
*
* Return: none
*/
void wma_set_channel_switch_in_progress(struct wma_txrx_node *iface);
#endif
#ifdef FEATURE_WLM_STATS
/**

View file

@ -1058,7 +1058,6 @@ send_rsp:
*
* Return: none
*/
#ifdef CONFIG_VDEV_SM
static void wma_send_start_resp(tp_wma_handle wma,
tpAddBssParams add_bss,
wmi_vdev_start_response_event_fixed_param *
@ -1090,26 +1089,6 @@ static void wma_send_start_resp(tp_wma_handle wma,
resp_event->vdev_id, add_bss->status);
wma_send_msg_high_priority(wma, WMA_ADD_BSS_RSP, (void *)add_bss, 0);
}
#else
static void wma_send_start_resp(tp_wma_handle wma,
tpAddBssParams add_bss,
wmi_vdev_start_response_event_fixed_param *
resp_event)
{
/* Send vdev stop if vdev start was success */
if (QDF_IS_STATUS_ERROR(add_bss->status)) {
if (!resp_event->status)
if (wma_send_vdev_stop_to_fw(wma, resp_event->vdev_id))
WMA_LOGE(FL("Failed to send vdev stop"));
wma_remove_peer_on_add_bss_failure(add_bss);
}
WMA_LOGD(FL("Sending add bss rsp to umac(vdev %d status %d)"),
resp_event->vdev_id, add_bss->status);
wma_send_msg_high_priority(wma, WMA_ADD_BSS_RSP, (void *)add_bss, 0);
}
#endif
/**
* wma_vdev_start_rsp() - send vdev start response to upper layer
@ -1235,7 +1214,6 @@ static void wma_find_mcc_ap(tp_wma_handle wma, uint8_t vdev_id, bool add)
}
#endif /* FEATURE_AP_MCC_CH_AVOIDANCE */
#ifdef CONFIG_VDEV_SM
/**
* wma_handle_hidden_ssid_restart() - handle hidden ssid restart
* @wma: wma handle
@ -1339,101 +1317,6 @@ wma_handle_channel_switch_resp(tp_wma_handle wma,
return QDF_STATUS_SUCCESS;
}
#else
static void wma_handle_hidden_ssid_restart(tp_wma_handle wma,
struct wma_txrx_node *iface,
struct wma_target_req *req)
{
tpHalHiddenSsidVdevRestart hidden_ssid_restart =
(tpHalHiddenSsidVdevRestart)req->user_data;
WMA_LOGE("%s: vdev restart event recevied for hidden ssid set using IOCTL",
__func__);
wma_set_hidden_ssid_restart_in_progress(iface, 0);
wma_send_msg(wma, WMA_HIDDEN_SSID_RESTART_RSP,
(void *)hidden_ssid_restart, 0);
}
static QDF_STATUS
wma_handle_channel_switch_resp(tp_wma_handle wma,
wmi_vdev_start_response_event_fixed_param
*resp_event,
struct wma_target_req *req)
{
struct wma_txrx_node *iface;
tpSwitchChannelParams params = (tpSwitchChannelParams)req->user_data;
if (!params) {
WMA_LOGE("%s: channel switch params is NULL for vdev %d",
__func__, resp_event->vdev_id);
policy_mgr_set_do_hw_mode_change_flag(wma->psoc, false);
return QDF_STATUS_E_FAILURE;
}
iface = &wma->interfaces[resp_event->vdev_id];
WMA_LOGD("%s: Send channel switch resp vdev %d status %d",
__func__, resp_event->vdev_id, resp_event->status);
params->chainMask = resp_event->chain_mask;
if ((resp_event->cfgd_rx_streams != 2) ||
(resp_event->cfgd_tx_streams != 2))
params->nss = 1;
params->smpsMode = host_map_smps_mode(resp_event->smps_mode);
params->status = resp_event->status;
if (wma->interfaces[resp_event->vdev_id].is_channel_switch)
wma->interfaces[resp_event->vdev_id].is_channel_switch = false;
if ((QDF_IS_STATUS_SUCCESS(resp_event->status) &&
(resp_event->resp_type == WMI_VDEV_RESTART_RESP_EVENT) &&
((iface->type == WMI_VDEV_TYPE_STA) ||
(iface->type == WMI_VDEV_TYPE_MONITOR))) ||
((resp_event->resp_type == WMI_VDEV_START_RESP_EVENT) &&
(iface->type == WMI_VDEV_TYPE_MONITOR))) {
wmi_host_channel_width chanwidth;
struct vdev_up_params vdev_up_param = {0};
QDF_STATUS status;
int err;
/* for CSA case firmware expects phymode before ch_wd */
err = wma_set_peer_param(wma, iface->bssid,
WMI_PEER_PHYMODE, iface->chanmode,
resp_event->vdev_id);
WMA_LOGD("%s:vdev_id %d chanmode %d status %d",
__func__, resp_event->vdev_id, iface->chanmode, err);
chanwidth = wmi_get_ch_width_from_phy_mode(wma->wmi_handle,
iface->chanmode);
err = wma_set_peer_param(wma, iface->bssid, WMI_PEER_CHWIDTH,
chanwidth, resp_event->vdev_id);
WMA_LOGD("%s:vdev_id %d chanwidth %d status %d",
__func__, resp_event->vdev_id, chanwidth, err);
vdev_up_param.vdev_id = resp_event->vdev_id;
vdev_up_param.assoc_id = iface->aid;
status = wma_send_vdev_up_to_fw(wma,
&vdev_up_param, iface->bssid);
if (QDF_IS_STATUS_ERROR(status)) {
WMA_LOGE("%s:vdev_up failed vdev_id %d",
__func__, resp_event->vdev_id);
wma_vdev_set_mlme_state_stop(wma, resp_event->vdev_id);
policy_mgr_set_do_hw_mode_change_flag(wma->psoc, false);
} else {
wma_vdev_set_mlme_state_run(wma, resp_event->vdev_id);
if (iface->beacon_filter_enabled)
wma_add_beacon_filter(wma,
&iface->beacon_filter);
}
}
wma_send_msg_high_priority(wma, WMA_SWITCH_CHANNEL_RSP,
(void *)params, 0);
return QDF_STATUS_SUCCESS;
}
#endif
/**
* wma_vdev_start_resp_handler() - vdev start response handler
@ -1580,7 +1463,6 @@ int wma_vdev_start_resp_handler(void *handle, uint8_t *cmd_param_info,
wma->psoc, false);
return -EEXIST;
}
wma_vdev_set_mlme_state_run(wma, resp_event->vdev_id);
ucfg_ocb_config_channel(wma->pdev);
}
if ((wma->interfaces[resp_event->vdev_id].type == WMI_VDEV_TYPE_AP) &&
@ -2479,7 +2361,6 @@ void wma_send_del_bss_response(tp_wma_handle wma, struct wma_target_req *req)
}
}
#ifdef CONFIG_VDEV_SM
void wma_send_vdev_down(tp_wma_handle wma, struct wma_target_req *req)
{
uint8_t vdev_id;
@ -2537,51 +2418,6 @@ static void wma_handle_set_link_down_rsp(tp_wma_handle wma,
WLAN_VDEV_SM_EV_MLME_DOWN_REQ,
sizeof(*req), req);
}
#else
void wma_send_vdev_down(tp_wma_handle wma, struct wma_target_req *req)
{
uint8_t vdev_id;
tpDeleteBssParams params = (tpDeleteBssParams)req->user_data;
if (!req) {
WMA_LOGE("%s req is NULL", __func__);
return;
}
vdev_id = req->vdev_id;
if (req->msg_type == WMA_DELETE_BSS_HO_FAIL_REQ) {
params->status = QDF_STATUS_SUCCESS;
wma_send_msg_high_priority(wma, WMA_DELETE_BSS_HO_FAIL_RSP,
(void *)params, 0);
return;
}
if (wma_send_vdev_down_to_fw(wma, vdev_id) != QDF_STATUS_SUCCESS) {
WMA_LOGE("Failed to send vdev down cmd: vdev %d", vdev_id);
} else {
wma_vdev_set_mlme_state_stop(wma, vdev_id);
wma_check_and_find_mcc_ap(wma, vdev_id);
}
wma_send_del_bss_response(wma, req);
}
static void wma_send_vdev_down_bss(tp_wma_handle wma,
struct wma_target_req *req)
{
wma_send_vdev_down(wma, req);
}
static void wma_handle_set_link_down_rsp(tp_wma_handle wma,
struct wma_target_req *req)
{
if (wma_send_vdev_down_to_fw(wma, req->vdev_id) != QDF_STATUS_SUCCESS)
WMA_LOGE("Failed to send vdev down cmd: vdev %d", req->vdev_id);
wma_send_set_link_response(wma, req);
}
#endif
#ifdef WLAN_FEATURE_11W
static void wma_clear_iface_key(struct wma_txrx_node *iface)
@ -2782,7 +2618,6 @@ free_req_msg:
*
* Return: QDF_STATUS
*/
#ifdef CONFIG_VDEV_SM
static QDF_STATUS
wma_handle_vdev_stop_rsp(tp_wma_handle wma,
wmi_vdev_stopped_event_fixed_param *resp_event)
@ -2794,14 +2629,6 @@ wma_handle_vdev_stop_rsp(tp_wma_handle wma,
WLAN_VDEV_SM_EV_STOP_RESP,
sizeof(*resp_event), resp_event);
}
#else
static QDF_STATUS
wma_handle_vdev_stop_rsp(tp_wma_handle wma,
wmi_vdev_stopped_event_fixed_param *resp_event)
{
return __wma_handle_vdev_stop_rsp(resp_event);
}
#endif
int wma_vdev_stop_resp_handler(void *handle, uint8_t *cmd_param_info,
uint32_t len)
@ -3553,14 +3380,7 @@ QDF_STATUS wma_vdev_start(tp_wma_handle wma,
temp_reg_info_2;
}
if (isRestart) {
/*
* Marking the VDEV UP STATUS to false
* since, VDEV RESTART will do a VDEV DOWN
* in the firmware.
*/
wma_vdev_set_mlme_state_stop(wma, params.vdev_id);
} else {
if (!isRestart) {
WMA_LOGD("%s, vdev_id: %d, unpausing tx_ll_queue at VDEV_START",
__func__, params.vdev_id);
cdp_fc_vdev_unpause(cds_get_context(QDF_MODULE_ID_SOC),
@ -4040,7 +3860,6 @@ void wma_remove_req(tp_wma_handle wma, uint8_t vdev_id,
qdf_mem_free(req_msg);
}
#ifdef CONFIG_VDEV_SM
/**
* wma_handle_channel_switch_req_timeout() - handle channel switch req timeout
* @wma: wma handler
@ -4099,51 +3918,6 @@ wma_handle_add_bss_req_timeout(tp_wma_handle wma, struct wma_target_req *req)
WLAN_VDEV_SM_EV_DOWN,
sizeof(*params), params);
}
#else
static
void wma_handle_channel_switch_req_timeout(tp_wma_handle wma,
struct wma_target_req *req)
{
tpSwitchChannelParams params = (tpSwitchChannelParams)req->user_data;
params->status = QDF_STATUS_E_TIMEOUT;
WMA_LOGA("%s: WMA_SWITCH_CHANNEL_REQ timedout", __func__);
/*
* Trigger host crash if the flag is set or if the timeout
* is not due to fw down
*/
if (wma_crash_on_fw_timeout(wma->fw_timeout_crash))
wma_trigger_recovery_assert_on_fw_timeout(
WMA_CHNL_SWITCH_REQ);
if (wma->interfaces[req->vdev_id].is_channel_switch)
wma->interfaces[req->vdev_id].is_channel_switch = false;
wma_send_msg_high_priority(wma, WMA_SWITCH_CHANNEL_RSP,
(void *)params, 0);
}
static void
wma_handle_add_bss_req_timeout(tp_wma_handle wma, struct wma_target_req *req)
{
tpAddBssParams params = (tpAddBssParams) req->user_data;
params->status = QDF_STATUS_E_TIMEOUT;
WMA_LOGA("%s: WMA_ADD_BSS_REQ timedout", __func__);
WMA_LOGD("%s: bssid %pM vdev_id %d", __func__, params->bssId,
req->vdev_id);
if (wma_crash_on_fw_timeout(wma->fw_timeout_crash))
wma_trigger_recovery_assert_on_fw_timeout(WMA_ADD_BSS_REQ);
if (wma_send_vdev_stop_to_fw(wma, req->vdev_id))
WMA_LOGE("%s: Failed to send vdev stop to fw", __func__);
wma_remove_peer_on_add_bss_failure(params);
wma_send_msg_high_priority(wma, WMA_ADD_BSS_RSP, (void *)params, 0);
}
#endif
/**
* wma_vdev_resp_timer() - wma response timeout function
@ -4259,7 +4033,6 @@ void wma_vdev_resp_timer(void *data)
WMA_LOGE("Failed to send vdev down cmd: vdev %d",
tgt_req->vdev_id);
} else {
wma_vdev_set_mlme_state_stop(wma, tgt_req->vdev_id);
#ifdef FEATURE_AP_MCC_CH_AVOIDANCE
if (mac_ctx->sap.sap_channel_avoidance)
wma_find_mcc_ap(wma, tgt_req->vdev_id, false);
@ -4335,8 +4108,6 @@ void wma_vdev_resp_timer(void *data)
WMA_LOGE("Hidden ssid vdev restart Timed Out; vdev_id: %d, type = %d",
tgt_req->vdev_id, tgt_req->type);
wma_set_hidden_ssid_restart_in_progress(
&wma->interfaces[tgt_req->vdev_id], 0);
qdf_mem_free(tgt_req->user_data);
}
} else if (tgt_req->msg_type == WMA_SET_LINK_STATE) {
@ -5582,41 +5353,6 @@ static void wma_send_bss_color_change_enable(tp_wma_handle wma,
}
#endif
#ifdef CONFIG_VDEV_SM
static inline QDF_STATUS wma_indicate_start_success(tp_wma_handle wma,
struct wma_txrx_node *iface,
tpAddStaParams params)
{
return QDF_STATUS_SUCCESS;
}
#else
static QDF_STATUS wma_indicate_start_success(tp_wma_handle wma,
struct wma_txrx_node *iface,
tpAddStaParams params)
{
QDF_STATUS status;
struct vdev_up_params param = {0};
param.vdev_id = params->smesessionId;
param.assoc_id = params->assocId;
param.profile_idx = params->mbssid_info.profile_num;
param.profile_num = params->mbssid_info.profile_count;
qdf_mem_copy(&param.trans_bssid, &params->mbssid_info.trans_bssid,
QDF_MAC_ADDR_SIZE);
status = wma_send_vdev_up_to_fw(wma, &param, params->bssId);
if (QDF_IS_STATUS_ERROR(status)) {
WMA_LOGE("%s: Failed to send vdev up cmd: vdev %d bssid %pM",
__func__, params->smesessionId, params->bssId);
policy_mgr_set_do_hw_mode_change_flag(wma->psoc, false);
} else {
wma_set_vdev_mgmt_rate(wma, params->smesessionId);
wma_vdev_set_mlme_state_run(wma, params->smesessionId);
}
return status;
}
#endif
/**
* wma_add_sta_req_sta_mode() - process add sta request in sta mode
* @wma: wma handle
@ -5789,7 +5525,6 @@ static void wma_add_sta_req_sta_mode(tp_wma_handle wma, tpAddStaParams params)
params->smesessionId);
}
}
wma_indicate_start_success(wma, iface, params);
qdf_atomic_set(&iface->bss_status, WMA_BSS_STATUS_STARTED);
WMA_LOGD("%s: STA mode (type %d subtype %d) BSS is started",
__func__, iface->type, iface->sub_type);
@ -6288,7 +6023,6 @@ void wma_delete_bss_ho_fail(tp_wma_handle wma, tpDeleteBssParams params)
qdf_atomic_set(&iface->bss_status, WMA_BSS_STATUS_STOPPED);
WMA_LOGD("%s: (type %d subtype %d) BSS is stopped",
__func__, iface->type, iface->sub_type);
wma_vdev_set_mlme_state_stop(wma, params->smesessionId);
params->status = QDF_STATUS_SUCCESS;
msg = wma_fill_vdev_req(wma, params->smesessionId,
@ -6455,7 +6189,6 @@ void wma_delete_bss(tp_wma_handle wma, tpDeleteBssParams params)
WMA_LOGD("LFR3:%s: Setting vdev_up to FALSE for session %d",
__func__, params->smesessionId);
wma_vdev_set_mlme_state_stop(wma, params->smesessionId);
goto detach_peer;
}
msg = wma_fill_vdev_req(wma, params->smesessionId, WMA_DELETE_BSS_REQ,

View file

@ -1268,8 +1268,6 @@ int wma_csa_offload_handler(void *handle, uint8_t *event, uint32_t len)
return -EINVAL;
}
wma_set_channel_switch_in_progress(&wma->interfaces[vdev_id]);
wma_send_msg(wma, WMA_CSA_OFFLOAD_EVENT, (void *)csa_offload_event, 0);
return 0;
}

View file

@ -3043,7 +3043,6 @@ 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};
@ -3065,54 +3064,6 @@ QDF_STATUS wma_set_ap_vdev_up(tp_wma_handle wma, uint8_t vdev_id)
return status;
}
static inline
QDF_STATUS wma_ap_vdev_up(tp_wma_handle wma, uint8_t vdev_id)
{
return QDF_STATUS_SUCCESS;
}
#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;
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_vdev_set_mlme_state_run(wma, vdev_id);
wma_set_sap_keepalive(wma, vdev_id);
wma_set_vdev_mgmt_rate(wma, vdev_id);
}
return status;
}
/**
* wma_ap_vdev_up() - wrapper for vdev up req
* @wma: wma handle
* @vdev_id: vdev id
*
* Return: QDF_STATUS
*/
static inline
QDF_STATUS wma_ap_vdev_up(tp_wma_handle wma, uint8_t vdev_id)
{
return wma_set_ap_vdev_up(wma, vdev_id);
}
#endif
/**
* wma_send_beacon() - send beacon template
* @wma: wma handle
@ -3168,7 +3119,6 @@ void wma_send_beacon(tp_wma_handle wma, tpSendbeaconParams bcn_info)
WMA_LOGE("%s : wma_store_bcn_tmpl Failed", __func__);
goto send_rsp;
}
wma_ap_vdev_up(wma, vdev_id);
send_rsp:
bcn_info->status = status;
@ -3620,7 +3570,6 @@ void wma_hidden_ssid_vdev_restart(tp_wma_handle wma,
}
intr[vdev_id].vdev_restart_params.ssidHidden = pReq->ssidHidden;
wma_set_hidden_ssid_restart_in_progress(&intr[vdev_id], 1);
WMA_LOGD(FL("hidden ssid set using IOCTL for vdev %d ssid_hidden %d"),
vdev_id, pReq->ssidHidden);
@ -3632,7 +3581,6 @@ 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);
wma_set_hidden_ssid_restart_in_progress(&intr[vdev_id], 0);
qdf_mem_free(pReq);
return;
}
@ -3660,12 +3608,10 @@ void wma_hidden_ssid_vdev_restart(tp_wma_handle wma,
params.reg_info_1 = intr[vdev_id].vdev_restart_params.chan.reg_info_1;
params.reg_info_2 = intr[vdev_id].vdev_restart_params.chan.reg_info_2;
wma_vdev_set_mlme_state_stop(wma, vdev_id);
status = wmi_unified_hidden_ssid_vdev_restart_send(wma->wmi_handle,
&params);
if (QDF_IS_STATUS_ERROR(status)) {
WMA_LOGE(FL("Failed to send vdev restart command"));
wma_set_hidden_ssid_restart_in_progress(&intr[vdev_id], 0);
wma_remove_vdev_req(wma, vdev_id,
WMA_TARGET_REQ_TYPE_VDEV_START);
qdf_mem_free(pReq);

View file

@ -2648,7 +2648,6 @@ static void wma_roam_update_vdev(tp_wma_handle wma,
roam_synch_ind_ptr->bssid.bytes);
wma_add_bss(wma, (tpAddBssParams)roam_synch_ind_ptr->add_bss_params);
wma_add_sta(wma, add_sta_params);
wma_vdev_set_mlme_state_run(wma, vdev_id);
qdf_mem_copy(wma->interfaces[vdev_id].bssid,
roam_synch_ind_ptr->bssid.bytes, QDF_MAC_ADDR_SIZE);
qdf_mem_free(del_bss_params);
@ -3043,7 +3042,6 @@ int wma_roam_synch_frame_event_handler(void *handle, uint8_t *event,
return 0;
}
#ifdef CONFIG_VDEV_SM
/**
* __wma_roam_synch_event_handler() - roam synch event handler
* @handle: wma handle
@ -3099,15 +3097,6 @@ int wma_roam_synch_event_handler(void *handle, uint8_t *event,
wma_debug("Posted EV_ROAM to VDEV SM");
return 0;
}
#else
int wma_roam_synch_event_handler(void *handle, uint8_t *event,
uint32_t len)
{
wma_mlme_roam_synch_event_handler_cb(handle, event, len);
return 0;
}
#endif
#define RSN_CAPS_SHIFT 16
/**
@ -3475,8 +3464,6 @@ 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)) {
wma_set_channel_switch_in_progress(
&wma->interfaces[req.vdev_id]);
req.hidden_ssid = intr[vdev_id].vdev_restart_params.ssidHidden;
}
@ -3516,8 +3503,6 @@ 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);
wma_set_channel_switch_in_progress(
&wma->interfaces[req.vdev_id]);
}
msg = wma_fill_vdev_req(wma, req.vdev_id, WMA_CHNL_SWITCH_REQ,

View file

@ -4547,7 +4547,6 @@ static void wma_update_roam_offload_flag(tp_wma_handle wma, uint8_t vdev_id,
}
}
#ifdef CONFIG_VDEV_SM
QDF_STATUS wma_send_vdev_up_to_fw(t_wma_handle *wma,
struct vdev_up_params *params,
uint8_t bssid[QDF_MAC_ADDR_SIZE])
@ -4567,33 +4566,6 @@ QDF_STATUS wma_send_vdev_up_to_fw(t_wma_handle *wma,
return status;
}
#else
QDF_STATUS wma_send_vdev_up_to_fw(t_wma_handle *wma,
struct vdev_up_params *params,
uint8_t bssid[QDF_MAC_ADDR_SIZE])
{
QDF_STATUS status;
struct wma_txrx_node *vdev;
if (!wma_is_vdev_valid(params->vdev_id)) {
WMA_LOGE("%s: Invalid vdev id:%d", __func__, params->vdev_id);
return QDF_STATUS_E_FAILURE;
}
if (wma_is_vdev_up(params->vdev_id)) {
WMA_LOGD("vdev %d is already up for bssid %pM. Do not send",
params->vdev_id, bssid);
return QDF_STATUS_SUCCESS;
}
wma_update_roam_offload_flag(wma, params->vdev_id, true);
vdev = &wma->interfaces[params->vdev_id];
status = wmi_unified_vdev_up_send(wma->wmi_handle, bssid, params);
wma_release_wakelock(&vdev->vdev_start_wakelock);
return status;
}
#endif
QDF_STATUS wma_send_vdev_down_to_fw(t_wma_handle *wma, uint8_t vdev_id)
{
@ -4863,7 +4835,6 @@ void wma_remove_peer_on_add_bss_failure(tpAddBssParams add_bss_params)
peer, false);
}
#ifdef CONFIG_VDEV_SM
QDF_STATUS wma_sta_vdev_up_send(struct vdev_mlme_obj *vdev_mlme,
uint16_t data_len, void *data)
{
@ -5063,45 +5034,6 @@ QDF_STATUS wma_ap_mlme_vdev_stop_start_send(struct vdev_mlme_obj *vdev_mlme,
return wma_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;
}
void wma_set_hidden_ssid_restart_in_progress(struct wma_txrx_node *iface,
int val)
{
if (!iface)
return;
qdf_atomic_set(
&iface->vdev_restart_params.hidden_ssid_restart_in_progress, val);
}
bool wma_get_channel_switch_in_progress(struct wma_txrx_node *iface)
{
if (!iface)
return false;
return iface->is_channel_switch;
}
void wma_set_channel_switch_in_progress(struct wma_txrx_node *iface)
{
if (!iface)
return;
iface->is_channel_switch = true;
}
#endif
#ifdef FEATURE_WLM_STATS
int wma_wlm_stats_req(int vdev_id, uint32_t bitmask, uint32_t max_size,