qcacld-3.0: Cleanup IBSS in CSR layer

Cleanup IBSS related code from CSR/SME layer.

Change-Id: I4a15b0c59b55382ffb6a5c67049a6b24e3e00cbe
CRs-Fixed: 2685889
This commit is contained in:
gaurank kathpalia 2020-05-13 00:22:44 +05:30 • committed by nshrivas
commit 0907e9f8b3
17 changed files with 76 additions and 1377 deletions

View file

@ -903,9 +903,6 @@ QDF_STATUS hdd_set_sme_config(struct hdd_context *hdd_ctx)
hdd_ctx->psoc, false);
}
sme_config->csr_config.isCoalesingInIBSSAllowed =
ibss_cfg.coalesing_enable;
/* Update maximum interfaces information */
sme_config->csr_config.max_intf_count = hdd_ctx->max_intf_count;

View file

@ -773,7 +773,6 @@ struct mac_context {
struct csr_scanstruct scan;
struct csr_roamstruct roam;
tRrmContext rrm;
uint8_t isCoalesingInIBSSAllowed;
uint8_t beacon_offload;
bool pmf_offload;
bool is_fils_roaming_supported;

View file

@ -619,7 +619,6 @@ struct start_bss_req {
tAniAuthType authType;
uint32_t dtimPeriod;
uint8_t wps_state;
uint8_t isCoalesingInIBSSAllowed; /* Coalesing on/off knob */
enum QDF_OPMODE bssPersona;
uint8_t txLdpcIniFeatureEnabled;

View file

@ -397,8 +397,6 @@ struct pe_session {
int8_t rssi;
#endif
uint8_t max_amsdu_num;
uint8_t isCoalesingInIBSSAllowed;
struct ht_config ht_config;
struct sir_vht_config vht_config;
/*

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2012-2019 The Linux Foundation. All rights reserved.
* Copyright (c) 2012-2020 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
@ -361,30 +361,6 @@ static void ibss_coalesce_free(struct mac_context *mac)
mac->lim.ibss_info.beacon = NULL;
}
/*
* save the beacon params for use when adding the bss
*/
static void
ibss_coalesce_save(struct mac_context *mac,
tpSirMacMgmtHdr pHdr, tpSchBeaconStruct pBeacon)
{
/* get rid of any saved info */
ibss_coalesce_free(mac);
mac->lim.ibss_info.mac_hdr = qdf_mem_malloc(sizeof(*pHdr));
if (!mac->lim.ibss_info.mac_hdr)
return;
mac->lim.ibss_info.beacon = qdf_mem_malloc(sizeof(*pBeacon));
if (!mac->lim.ibss_info.beacon) {
ibss_coalesce_free(mac);
return;
}
qdf_mem_copy(mac->lim.ibss_info.mac_hdr, pHdr, sizeof(*pHdr));
qdf_mem_copy(mac->lim.ibss_info.beacon, pBeacon, sizeof(*pBeacon));
}
static QDF_STATUS lim_ibss_add_bss(
struct mac_context *mac,
struct pe_session *session,
@ -1283,20 +1259,6 @@ end:
}
}
static void lim_ibss_bss_delete(struct mac_context *mac,
struct pe_session *pe_session)
{
QDF_STATUS status;
status = wlan_vdev_mlme_sm_deliver_evt(
pe_session->vdev,
WLAN_VDEV_SM_EV_DOWN,
sizeof(*pe_session),
pe_session);
if (QDF_IS_STATUS_ERROR(status))
pe_err("Deliver WLAN_VDEV_SM_EV_DOWN failed");
}
QDF_STATUS
lim_ibss_coalesce(struct mac_context *mac,
tpSirMacMgmtHdr pHdr,
@ -1318,49 +1280,6 @@ lim_ibss_coalesce(struct mac_context *mac,
QDF_MAC_ADDR_STR, QDF_MAC_ADDR_ARRAY(currentBssId),
QDF_MAC_ADDR_ARRAY(pHdr->bssId));
/* Check for IBSS Coalescing only if Beacon is from different BSS */
if (qdf_mem_cmp(currentBssId, pHdr->bssId, sizeof(tSirMacAddr))
&& pe_session->isCoalesingInIBSSAllowed) {
/*
* If STA entry is already available in the LIM hash table, then it is
* possible that the peer may have left and rejoined within the heartbeat
* timeout. In the offloaded case with 32 peers, the HB timeout is whopping
* 128 seconds. In that case, the FW will not let any frames come in until
* atleast the last sequence number is received before the peer is left
* Hence, if the coalescing peer is already there in the peer list and if
* the BSSID matches then, invoke delSta() to cleanup the entries. We will
* let the peer coalesce when we receive next beacon from the peer
*/
pPeerNode = ibss_peer_find(mac, pHdr->sa);
if (pPeerNode) {
lim_ibss_delete_peer(mac, pe_session,
pHdr->sa, true);
pe_warn("Peer attempting to reconnect before HB timeout, deleted");
return QDF_STATUS_E_INVAL;
}
if (!fTsfLater) { /* No Coalescing happened. */
pe_warn("No Coalescing happened");
return QDF_STATUS_E_INVAL;
}
/*
* IBSS Coalescing happened.
* save the received beacon, and delete the current BSS. The rest of the
* processing will be done in the delBss response processing
*/
mac->lim.gLimIbssCoalescingHappened = true;
ibss_coalesce_save(mac, pHdr, pBeacon);
pe_debug("IBSS Coalescing happened Delete BSSID :" QDF_MAC_ADDR_STR,
QDF_MAC_ADDR_ARRAY(currentBssId));
lim_ibss_bss_delete(mac, pe_session);
return QDF_STATUS_SUCCESS;
} else {
if (qdf_mem_cmp
(currentBssId, pHdr->bssId, sizeof(tSirMacAddr)))
return QDF_STATUS_E_INVAL;
}
/* STA in IBSS mode and SSID matches with ours */
pPeerNode = ibss_peer_find(mac, pHdr->sa);
if (!pPeerNode) {

View file

@ -464,8 +464,6 @@ lim_configure_ap_start_bss_session(struct mac_context *mac_ctx,
sme_start_bss_req->vendor_vht_sap;
lim_get_short_slot_from_phy_mode(mac_ctx, session, session->gLimPhyMode,
&session->shortSlotTimeSupported);
session->isCoalesingInIBSSAllowed =
sme_start_bss_req->isCoalesingInIBSSAllowed;
session->beacon_tx_rate = sme_start_bss_req->beacon_tx_rate;

View file

@ -131,16 +131,12 @@ typedef enum {
* enum eCsrRoamBssType - BSS type in CSR operations
* @eCSR_BSS_TYPE_INFRASTRUCTURE: Infrastructure station
* @eCSR_BSS_TYPE_INFRA_AP: SoftAP
* @eCSR_BSS_TYPE_IBSS: IBSS network we'll not start
* @eCSR_BSS_TYPE_START_IBSS: IBSS network we'll start if no partners found
* @eCSR_BSS_TYPE_NDI: NAN datapath interface
* @eCSR_BSS_TYPE_ANY: any BSS type (IBSS or Infrastructure)
*/
typedef enum {
eCSR_BSS_TYPE_INFRASTRUCTURE,
eCSR_BSS_TYPE_INFRA_AP,
eCSR_BSS_TYPE_IBSS,
eCSR_BSS_TYPE_START_IBSS,
eCSR_BSS_TYPE_NDI,
eCSR_BSS_TYPE_ANY,
} eCsrRoamBssType;
@ -321,8 +317,6 @@ typedef enum {
* to struct mic_failure_ind
*/
eCSR_ROAM_MIC_ERROR_IND,
/* IBSS indications. */
eCSR_ROAM_IBSS_IND,
/*
* Update the connection status, useful for IBSS: new peer added,
* network is active etc.
@ -330,7 +324,6 @@ typedef enum {
eCSR_ROAM_CONNECT_STATUS_UPDATE,
eCSR_ROAM_GEN_INFO,
eCSR_ROAM_SET_KEY_COMPLETE,
eCSR_ROAM_IBSS_LEAVE, /* IBSS indications. */
/* BSS in SoftAP mode status indication */
eCSR_ROAM_INFRA_IND,
eCSR_ROAM_WPS_PBC_PROBE_REQ_IND,
@ -364,8 +357,6 @@ typedef enum {
eCSR_ROAM_UNPROT_MGMT_FRAME_IND,
#endif
eCSR_ROAM_IBSS_PEER_INFO_COMPLETE,
#ifdef FEATURE_WLAN_ESE
eCSR_ROAM_TSM_IE_IND,
eCSR_ROAM_CCKM_PREAUTH_NOTIFY,
@ -411,39 +402,6 @@ typedef enum {
eCSR_ROAM_RESULT_DISASSOC_IND,
eCSR_ROAM_RESULT_DEAUTH_IND,
eCSR_ROAM_RESULT_CAP_CHANGED,
/*
* This means we starts an IBSS struct csr_roam_info's
* bss_desc may pass back
*/
eCSR_ROAM_RESULT_IBSS_STARTED,
eCSR_ROAM_RESULT_IBSS_START_FAILED,
eCSR_ROAM_RESULT_IBSS_JOIN_SUCCESS,
eCSR_ROAM_RESULT_IBSS_JOIN_FAILED,
eCSR_ROAM_RESULT_IBSS_CONNECT,
eCSR_ROAM_RESULT_IBSS_INACTIVE,
/*
* If roamStatus is eCSR_ROAM_ASSOCIATION_COMPLETION struct
* csr_roam_info's bss_desc may pass back and the peer's MAC
* address in peerMacOrBssid. If roamStatus is
* eCSR_ROAM_IBSS_IND, the peer's MAC address in
* peerMacOrBssid and a beacon frame of the IBSS in pbFrames
*/
eCSR_ROAM_RESULT_IBSS_NEW_PEER,
/*
* Peer departed from IBSS, Callback may get a pointer tSmeIbssPeerInd
* in pIbssPeerInd
*/
eCSR_ROAM_RESULT_IBSS_PEER_DEPARTED,
/*
* Coalescing in the IBSS network (joined an IBSS network)
* Callback pass a BSSID in peerMacOrBssid
*/
eCSR_ROAM_RESULT_IBSS_COALESCED,
/*
* If roamStatus is eCSR_ROAM_ROAMING_START, callback may get a pointer
* to tCsrConnectedProfile used to connect.
*/
eCSR_ROAM_RESULT_IBSS_STOP,
eCSR_ROAM_RESULT_LOSTLINK,
eCSR_ROAM_RESULT_MIC_ERROR_UNICAST,
eCSR_ROAM_RESULT_MIC_ERROR_GROUP,
@ -481,9 +439,6 @@ typedef enum {
eCSR_ROAM_RESULT_TDLS_SHOULD_TEARDOWN,
eCSR_ROAM_RESULT_TDLS_SHOULD_PEER_DISCONNECTED,
eCSR_ROAM_RESULT_TDLS_CONNECTION_TRACKER_NOTIFICATION,
eCSR_ROAM_RESULT_IBSS_PEER_INFO_SUCCESS,
eCSR_ROAM_RESULT_IBSS_PEER_INFO_FAILED,
eCSR_ROAM_RESULT_DFS_RADAR_FOUND_IND,
eCSR_ROAM_RESULT_CHANNEL_CHANGE_SUCCESS,
eCSR_ROAM_RESULT_CHANNEL_CHANGE_FAILURE,
@ -514,7 +469,6 @@ typedef enum {
eCSR_DISCONNECT_REASON_DISASSOC,
eCSR_DISCONNECT_REASON_DEAUTH,
eCSR_DISCONNECT_REASON_HANDOFF,
eCSR_DISCONNECT_REASON_IBSS_LEAVE,
eCSR_DISCONNECT_REASON_STA_HAS_LEFT,
eCSR_DISCONNECT_REASON_NDI_DELETE,
eCSR_DISCONNECT_REASON_ROAM_HO_FAIL,
@ -525,10 +479,6 @@ typedef enum {
eCSR_ASSOC_STATE_TYPE_NOT_CONNECTED,
/* Associated in an Infrastructure network. */
eCSR_ASSOC_STATE_TYPE_INFRA_ASSOCIATED,
/* Participating in IBSS network though disconnection */
eCSR_ASSOC_STATE_TYPE_IBSS_DISCONNECTED,
/* Participating in IBSS network with partner stations also present */
eCSR_ASSOC_STATE_TYPE_IBSS_CONNECTED,
/* Participating in WDS network in AP/STA mode but not connected yet */
eCSR_ASSOC_STATE_TYPE_WDS_DISCONNECTED,
/* Participating in a WDS network and connected peer to peer */
@ -938,7 +888,6 @@ struct csr_config_params {
uint8_t fEnableDFSChnlScan;
bool send_smps_action;
uint8_t isCoalesingInIBSSAllowed;
#ifdef FEATURE_WLAN_MCC_TO_SCC_SWITCH
uint8_t cc_switch_mode;
#endif
@ -996,10 +945,6 @@ struct csr_roam_info {
bool fReassocReq; /* set to true if for re-association */
bool fReassocRsp; /* set to true if for re-association */
struct qdf_mac_addr bssid;
/*
* Only valid in IBSS. this is the peers MAC address for
* eCSR_ROAM_RESULT_IBSS_NEW_PEER or PEER_DEPARTED
*/
struct qdf_mac_addr peerMac;
tSirResultCodes status_code;
/* this'd be our own defined or sent from otherBSS(per 802.11spec) */
@ -1291,12 +1236,6 @@ typedef QDF_STATUS (*csr_session_open_cb)(uint8_t session_id,
QDF_STATUS qdf_status);
typedef QDF_STATUS (*csr_session_close_cb)(uint8_t session_id);
#define CSR_IS_START_IBSS(pProfile) (eCSR_BSS_TYPE_START_IBSS == \
(pProfile)->BSSType)
#define CSR_IS_JOIN_TO_IBSS(pProfile) (eCSR_BSS_TYPE_IBSS == \
(pProfile)->BSSType)
#define CSR_IS_IBSS(pProfile) (CSR_IS_START_IBSS(pProfile) || \
CSR_IS_JOIN_TO_IBSS(pProfile))
#define CSR_IS_INFRASTRUCTURE(pProfile) (eCSR_BSS_TYPE_INFRASTRUCTURE == \
(pProfile)->BSSType)
#define CSR_IS_ANY_BSS_TYPE(pProfile) (eCSR_BSS_TYPE_ANY == \

View file

@ -115,7 +115,6 @@ enum csr_roam_reason {
eCsrSmeIssuedDisassocForHandoff,
/* will be issued by Handoff logic to join a new AP with same profile */
eCsrSmeIssuedAssocToSimilarAP,
eCsrForcedIbssLeave,
eCsrStopBss,
eCsrSmeIssuedFTReassoc,
eCsrForcedDisassocSta,
@ -159,8 +158,6 @@ enum csr_roam_state {
enum csr_join_state {
eCsrContinueRoaming,
eCsrStopRoaming,
eCsrStartIbss,
eCsrStartIbssSameIbss,
eCsrReassocToSelfNoCapChange,
eCsrStopRoamingDueToConcurrency,
@ -356,7 +353,6 @@ struct csr_config {
bool doBMPSWorkaround;
uint32_t nVhtChannelWidth;
bool send_smps_action;
uint8_t isCoalesingInIBSSAllowed;
#ifdef FEATURE_WLAN_MCC_TO_SCC_SWITCH
uint8_t cc_switch_mode;
#endif
@ -835,59 +831,6 @@ bool csr_is_conn_state_connected(struct mac_context *mac,
bool csr_is_conn_state_infra(struct mac_context *mac,
uint32_t sessionId);
#ifdef QCA_IBSS_SUPPORT
/**
* csr_is_conn_state_ibss() - get the connection state for ibss session
* @mac_ctx: pointer to global mac structure
* @sessionId: session id
*
*
* Return: true if IBSS connected/disconnected state, else flase
*/
bool csr_is_conn_state_ibss(struct mac_context *mac, uint32_t sessionId);
/**
* csr_is_conn_state_connected_ibss() - get the connected state for ibss
* @mac_ctx: pointer to global mac structure
* @sessionId: session id
*
*
* Return: true if IBSS connected state, else false
*/
bool csr_is_conn_state_connected_ibss(struct mac_context *mac,
uint32_t sessionId);
/**
* csr_is_conn_state_connected_ibss() - get the connected state for ibss
* @mac_ctx: pointer to global mac structure
* @sessionId: session id
*
*
* Return: true if IBSS disconnected state, else false
*/
bool csr_is_conn_state_disconnected_ibss(struct mac_context *mac,
uint32_t sessionId);
#else
static inline bool
csr_is_conn_state_ibss(struct mac_context *mac, uint32_t sessionId)
{
return false;
}
static inline bool
csr_is_conn_state_connected_ibss(struct mac_context *mac, uint32_t sessionId)
{
return false;
}
static inline bool
csr_is_conn_state_disconnected_ibss(struct mac_context *mac,
uint32_t sessionId)
{
return false;
}
#endif
bool csr_is_conn_state_wds(struct mac_context *mac, uint32_t sessionId);
bool csr_is_conn_state_connected_wds(struct mac_context *mac,
uint32_t sessionId);

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2011-2019 The Linux Foundation. All rights reserved.
* Copyright (c) 2011-2020 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
@ -230,35 +230,6 @@ csr_get_qos_from_bss_desc(struct mac_context *mac_ctx,
bool csr_is_nullssid(uint8_t *pBssSsid, uint8_t len);
bool csr_is_infra_bss_desc(struct bss_description *pSirBssDesc);
#ifdef QCA_IBSS_SUPPORT
/**
* csr_is_ibss_bss_desc() - API to check bss desc of ibss type
* @pSirBssDesc: pointer to pSirBssDesc structure
*
* Return: true if bss desc of ibss type, else false
*/
bool csr_is_ibss_bss_desc(struct bss_description *pSirBssDesc);
/**
* csr_is_ibss_bss_desc() - API to check bss desc of ibss type
* @bssType: bss type
*
* Return: true if bss type is ibss type, else false
*/
bool csr_is_bss_type_ibss(eCsrRoamBssType bssType);
#else
static inline
bool csr_is_bss_type_ibss(eCsrRoamBssType bssType)
{
return false;
}
static inline
bool csr_is_ibss_bss_desc(struct bss_description *pSirBssDesc)
{
return false;
}
#endif
tSirResultCodes csr_get_de_auth_rsp_status_code(struct deauth_rsp *pSmeRsp);
uint32_t csr_get_frag_thresh(struct mac_context *mac_ctx);
uint32_t csr_get_rts_thresh(struct mac_context *mac_ctx);

View file

@ -1212,34 +1212,6 @@ QDF_STATUS sme_send_rmc_action_period(mac_handle_t mac_handle,
uint32_t sessionId);
#endif
#ifdef QCA_IBSS_SUPPORT
/*
* sme_request_ibss_peer_info() - request ibss peer info
* @mac_handle: Opaque handle to the global MAC context
* @cb_context: Pointer to user data
* @peer_info_cb: Peer info callback
* @allPeerInfoReqd: All peer info required or not
* @staIdx: sta index
*
* Return: QDF_STATUS
*/
QDF_STATUS sme_request_ibss_peer_info(mac_handle_t mac_handle,
void *cb_context,
ibss_peer_info_cb peer_info_cb,
bool allPeerInfoReqd,
uint8_t *mac_addr);
#else
static inline
QDF_STATUS sme_request_ibss_peer_info(mac_handle_t mac_handle,
void *cb_context,
ibss_peer_info_cb peer_info_cb,
bool allPeerInfoReqd,
uint8_t *mac_addr)
{
return QDF_STATUS_SUCCESS;
}
#endif
QDF_STATUS sme_send_cesium_enable_ind(mac_handle_t mac_handle,
uint32_t sessionId);

View file

@ -71,16 +71,6 @@ typedef enum eSmeState {
#define SME_IS_START(mac) (SME_STATE_STOP != (mac)->sme.state)
#define SME_IS_READY(mac) (SME_STATE_READY == (mac)->sme.state)
/* HDD Callback function */
typedef void (*ibss_peer_info_cb)(void *cb_context,
tSirPeerInfoRspParams *infoParam);
/* Peer info */
struct ibss_peer_info_cb_info {
void *peer_info_cb_context;
ibss_peer_info_cb peer_info_cb;
};
/**
* struct stats_ext_event - stats_ext_event payload
* @vdev_id: ID of the vdev for the stats
@ -291,7 +281,6 @@ struct sme_context {
void **sme_cmd_buf_addr;
tDblLinkList sme_cmd_freelist; /* preallocated roam cmd list */
enum QDF_OPMODE curr_device_mode;
struct ibss_peer_info_cb_info peer_info_cb_info;
#ifdef FEATURE_WLAN_DIAG_SUPPORT_CSR
host_event_wlan_status_payload_type eventPayload;
#endif

View file

@ -1837,94 +1837,6 @@ QDF_STATUS sme_get_roam_scan_ch(mac_handle_t mac_handle,
}
#endif
#ifdef QCA_IBSS_SUPPORT
/**
* sme_ibss_peer_info_response_handler() - Handler for ibss peer info
* @mac: Global MAC pointer
* @sme_ibss_peer_info_response_handler: ibss peer info params
*
* Return: QDF_STATUS
*/
static
QDF_STATUS sme_ibss_peer_info_response_handler(struct mac_context *mac,
tpSirIbssGetPeerInfoRspParams
pIbssPeerInfoParams)
{
struct ibss_peer_info_cb_info *cb_info;
if (!mac) {
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_FATAL,
"%s: mac is null", __func__);
return QDF_STATUS_E_FAILURE;
}
cb_info = &mac->sme.peer_info_cb_info;
if (!cb_info->peer_info_cb) {
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR,
"%s: HDD callback is null", __func__);
return QDF_STATUS_E_FAILURE;
}
cb_info->peer_info_cb(cb_info->peer_info_cb_context,
&pIbssPeerInfoParams->ibssPeerInfoRspParams);
return QDF_STATUS_SUCCESS;
}
QDF_STATUS sme_request_ibss_peer_info(mac_handle_t mac_handle, void *cb_context,
ibss_peer_info_cb peer_info_cb,
bool allPeerInfoReqd, uint8_t *mac_addr)
{
QDF_STATUS status = QDF_STATUS_E_FAILURE;
QDF_STATUS qdf_status = QDF_STATUS_E_FAILURE;
struct mac_context *mac = MAC_CONTEXT(mac_handle);
struct scheduler_msg message = {0};
tSirIbssGetPeerInfoReqParams *pIbssInfoReqParams;
struct ibss_peer_info_cb_info *cb_info;
status = sme_acquire_global_lock(&mac->sme);
if (status == QDF_STATUS_SUCCESS) {
cb_info = &mac->sme.peer_info_cb_info;
cb_info->peer_info_cb = peer_info_cb;
cb_info->peer_info_cb_context = cb_context;
pIbssInfoReqParams = (tSirIbssGetPeerInfoReqParams *)
qdf_mem_malloc(sizeof(tSirIbssGetPeerInfoReqParams));
if (!pIbssInfoReqParams) {
sme_release_global_lock(&mac->sme);
return QDF_STATUS_E_NOMEM;
}
pIbssInfoReqParams->allPeerInfoReqd = allPeerInfoReqd;
qdf_mem_copy(pIbssInfoReqParams->peer_mac.bytes, mac_addr,
QDF_MAC_ADDR_SIZE);
message.type = WMA_GET_IBSS_PEER_INFO_REQ;
message.bodyptr = pIbssInfoReqParams;
message.reserved = 0;
qdf_status = scheduler_post_message(QDF_MODULE_ID_SME,
QDF_MODULE_ID_WMA,
QDF_MODULE_ID_WMA,
&message);
if (qdf_status != QDF_STATUS_SUCCESS) {
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR,
"%s: Post WMA_GET_IBSS_PEER_INFO_REQ MSG failed",
__func__);
qdf_mem_free(pIbssInfoReqParams);
qdf_status = QDF_STATUS_E_FAILURE;
}
sme_release_global_lock(&mac->sme);
}
return qdf_status;
}
#else
static inline
QDF_STATUS sme_ibss_peer_info_response_handler(struct mac_context *mac,
tpSirIbssGetPeerInfoRspParams
pIbssPeerInfoParams)
{
return QDF_STATUS_SUCCESS;
}
#endif
/**
* sme_process_dual_mac_config_resp() - Process set Dual mac config response
* @mac: Global MAC pointer
@ -2192,15 +2104,6 @@ QDF_STATUS sme_process_msg(struct mac_context *mac, struct scheduler_msg *pMsg)
pMsg->bodyptr);
qdf_mem_free(pMsg->bodyptr);
break;
case eWNI_SME_IBSS_PEER_INFO_RSP:
if (pMsg->bodyptr) {
sme_ibss_peer_info_response_handler(mac,
pMsg->bodyptr);
qdf_mem_free(pMsg->bodyptr);
} else {
sme_err("Empty message for: %d", pMsg->type);
}
break;
#ifdef WLAN_FEATURE_EXTWOW_SUPPORT
case eWNI_SME_READY_TO_EXTWOW_IND:
if (pMsg->bodyptr) {
@ -4811,11 +4714,7 @@ QDF_STATUS sme_get_operation_channel(mac_handle_t mac_handle,
if ((pSession->connectedProfile.BSSType ==
eCSR_BSS_TYPE_INFRASTRUCTURE)
|| (pSession->connectedProfile.BSSType ==
eCSR_BSS_TYPE_IBSS)
|| (pSession->connectedProfile.BSSType ==
eCSR_BSS_TYPE_INFRA_AP)
|| (pSession->connectedProfile.BSSType ==
eCSR_BSS_TYPE_START_IBSS)) {
eCSR_BSS_TYPE_INFRA_AP)) {
*chan_freq = pSession->connectedProfile.op_freq;
return QDF_STATUS_SUCCESS;
}

File diff suppressed because it is too large Load diff

View file

@ -256,28 +256,7 @@ QDF_STATUS csr_scan_handle_search_for_ssid_failure(struct mac_context *mac_ctx,
profile = session->scan_info.profile;
/*
* Check whether it is for start ibss. No need to do anything if it
* is a JOIN request
*/
if (profile && CSR_IS_START_IBSS(profile)) {
status = csr_roam_issue_connect(mac_ctx, session_id, profile, NULL,
eCsrHddIssued, session->scan_info.roam_id,
true, true);
if (!QDF_IS_STATUS_SUCCESS(status)) {
sme_err("failed to issue startIBSS, session_id %d status: 0x%08X roam id %d",
session_id, status, session->scan_info.roam_id);
csr_roam_call_callback(mac_ctx, session_id, NULL,
session->scan_info.roam_id, eCSR_ROAM_FAILED,
eCSR_ROAM_RESULT_FAILURE);
}
return status;
}
roam_result = eCSR_ROAM_RESULT_FAILURE;
if (profile && csr_is_bss_type_ibss(profile->BSSType)) {
roam_result = eCSR_ROAM_RESULT_IBSS_START_FAILED;
goto roam_completion;
}
roam_info = qdf_mem_malloc(sizeof(struct csr_roam_info));
if (!roam_info)

View file

@ -61,7 +61,6 @@ enum csr_roamcomplete_result {
eCsrNothingToJoin,
eCsrStartBssSuccess,
eCsrStartBssFailure,
eCsrSilentlyStopRoaming,
eCsrSilentlyStopRoamingSaveState,
eCsrJoinFailureDueToConcurrency,
eCsrStopBssSuccess,
@ -590,17 +589,6 @@ void csr_get_vdev_type_nss(enum QDF_OPMODE dev_mode, uint8_t *nss_2g,
#define WLAN_SCAN_STATUS_FAILURE 1
#define WLAN_SCAN_STATUS_ABORT 2
/* Ibss */
#define WLAN_IBSS_EVENT_START_IBSS_REQ 0
#define WLAN_IBSS_EVENT_START_IBSS_RSP 1
#define WLAN_IBSS_EVENT_JOIN_IBSS_REQ 2
#define WLAN_IBSS_EVENT_JOIN_IBSS_RSP 3
#define WLAN_IBSS_EVENT_COALESCING 4
#define WLAN_IBSS_EVENT_PEER_JOIN 5
#define WLAN_IBSS_EVENT_PEER_LEAVE 6
#define WLAN_IBSS_EVENT_STOP_REQ 7
#define WLAN_IBSS_EVENT_STOP_RSP 8
#define AUTO_PICK 0
#define SPECIFIED 1

View file

@ -402,9 +402,6 @@ csr_neighbor_roam_get_scan_filter_from_profile(struct mac_context *mac,
if (profile->BSSType == eCSR_BSS_TYPE_INFRASTRUCTURE)
filter->bss_type = WLAN_TYPE_BSS;
else if (profile->BSSType == eCSR_BSS_TYPE_IBSS ||
profile->BSSType == eCSR_BSS_TYPE_START_IBSS)
filter->bss_type = WLAN_TYPE_IBSS;
else
filter->bss_type = WLAN_TYPE_ANY;

View file

@ -254,11 +254,9 @@ const char *get_e_roam_cmd_status_str(eRoamCmdStatus val)
CASE_RETURN_STR(eCSR_ROAM_LOSTLINK);
CASE_RETURN_STR(eCSR_ROAM_LOSTLINK_DETECTED);
CASE_RETURN_STR(eCSR_ROAM_MIC_ERROR_IND);
CASE_RETURN_STR(eCSR_ROAM_IBSS_IND);
CASE_RETURN_STR(eCSR_ROAM_CONNECT_STATUS_UPDATE);
CASE_RETURN_STR(eCSR_ROAM_GEN_INFO);
CASE_RETURN_STR(eCSR_ROAM_SET_KEY_COMPLETE);
CASE_RETURN_STR(eCSR_ROAM_IBSS_LEAVE);
CASE_RETURN_STR(eCSR_ROAM_INFRA_IND);
CASE_RETURN_STR(eCSR_ROAM_WPS_PBC_PROBE_REQ_IND);
CASE_RETURN_STR(eCSR_ROAM_FT_RESPONSE);
@ -281,9 +279,6 @@ const char *get_e_roam_cmd_status_str(eRoamCmdStatus val)
#ifdef WLAN_FEATURE_11W
CASE_RETURN_STR(eCSR_ROAM_UNPROT_MGMT_FRAME_IND);
#endif
#ifdef WLAN_FEATURE_RMC
CASE_RETURN_STR(eCSR_ROAM_IBSS_PEER_INFO_COMPLETE);
#endif
#ifdef FEATURE_WLAN_ESE
CASE_RETURN_STR(eCSR_ROAM_TSM_IE_IND);
CASE_RETURN_STR(eCSR_ROAM_CCKM_PREAUTH_NOTIFY);
@ -320,16 +315,6 @@ const char *get_e_csr_roam_result_str(eCsrRoamResult val)
CASE_RETURN_STR(eCSR_ROAM_RESULT_DISASSOC_IND);
CASE_RETURN_STR(eCSR_ROAM_RESULT_DEAUTH_IND);
CASE_RETURN_STR(eCSR_ROAM_RESULT_CAP_CHANGED);
CASE_RETURN_STR(eCSR_ROAM_RESULT_IBSS_STARTED);
CASE_RETURN_STR(eCSR_ROAM_RESULT_IBSS_START_FAILED);
CASE_RETURN_STR(eCSR_ROAM_RESULT_IBSS_JOIN_SUCCESS);
CASE_RETURN_STR(eCSR_ROAM_RESULT_IBSS_JOIN_FAILED);
CASE_RETURN_STR(eCSR_ROAM_RESULT_IBSS_CONNECT);
CASE_RETURN_STR(eCSR_ROAM_RESULT_IBSS_INACTIVE);
CASE_RETURN_STR(eCSR_ROAM_RESULT_IBSS_NEW_PEER);
CASE_RETURN_STR(eCSR_ROAM_RESULT_IBSS_PEER_DEPARTED);
CASE_RETURN_STR(eCSR_ROAM_RESULT_IBSS_COALESCED);
CASE_RETURN_STR(eCSR_ROAM_RESULT_IBSS_STOP);
CASE_RETURN_STR(eCSR_ROAM_RESULT_LOSTLINK);
CASE_RETURN_STR(eCSR_ROAM_RESULT_MIC_ERROR_UNICAST);
CASE_RETURN_STR(eCSR_ROAM_RESULT_MIC_ERROR_GROUP);
@ -359,8 +344,6 @@ const char *get_e_csr_roam_result_str(eCsrRoamResult val)
CASE_RETURN_STR(eCSR_ROAM_RESULT_TDLS_SHOULD_PEER_DISCONNECTED);
CASE_RETURN_STR
(eCSR_ROAM_RESULT_TDLS_CONNECTION_TRACKER_NOTIFICATION);
CASE_RETURN_STR(eCSR_ROAM_RESULT_IBSS_PEER_INFO_SUCCESS);
CASE_RETURN_STR(eCSR_ROAM_RESULT_IBSS_PEER_INFO_FAILED);
CASE_RETURN_STR(eCSR_ROAM_RESULT_DFS_RADAR_FOUND_IND);
CASE_RETURN_STR(eCSR_ROAM_RESULT_CHANNEL_CHANGE_SUCCESS);
CASE_RETURN_STR(eCSR_ROAM_RESULT_CHANNEL_CHANGE_FAILURE);
@ -566,9 +549,8 @@ bool csr_is_conn_state_connected_infra(struct mac_context *mac_ctx,
bool csr_is_conn_state_connected(struct mac_context *mac, uint32_t sessionId)
{
return csr_is_conn_state_connected_ibss(mac, sessionId) ||
csr_is_conn_state_connected_infra(mac, sessionId) ||
csr_is_conn_state_connected_wds(mac, sessionId);
return csr_is_conn_state_connected_infra(mac, sessionId) ||
csr_is_conn_state_connected_wds(mac, sessionId);
}
bool csr_is_conn_state_infra(struct mac_context *mac, uint32_t sessionId)
@ -588,42 +570,6 @@ static tSirMacCapabilityInfo csr_get_bss_capabilities(struct bss_description *
return dot11Caps;
}
#ifdef QCA_IBSS_SUPPORT
bool csr_is_conn_state_connected_ibss(struct mac_context *mac_ctx,
uint32_t session_id)
{
return csr_is_conn_state(mac_ctx, session_id,
eCSR_ASSOC_STATE_TYPE_IBSS_CONNECTED);
}
bool csr_is_conn_state_disconnected_ibss(struct mac_context *mac_ctx,
uint32_t session_id)
{
return csr_is_conn_state(mac_ctx, session_id,
eCSR_ASSOC_STATE_TYPE_IBSS_DISCONNECTED);
}
bool csr_is_conn_state_ibss(struct mac_context *mac, uint32_t sessionId)
{
return csr_is_conn_state_connected_ibss(mac, sessionId) ||
csr_is_conn_state_disconnected_ibss(mac, sessionId);
}
bool csr_is_bss_type_ibss(eCsrRoamBssType bssType)
{
return (bool)
(eCSR_BSS_TYPE_START_IBSS == bssType
|| eCSR_BSS_TYPE_IBSS == bssType);
}
bool csr_is_ibss_bss_desc(struct bss_description *pSirBssDesc)
{
tSirMacCapabilityInfo dot11Caps = csr_get_bss_capabilities(pSirBssDesc);
return (bool) dot11Caps.ibss;
}
#endif
bool csr_is_conn_state_connected_wds(struct mac_context *mac_ctx,
uint32_t session_id)
{
@ -672,7 +618,6 @@ bool csr_is_any_session_in_connect_state(struct mac_context *mac)
for (i = 0; i < WLAN_MAX_VDEVS; i++) {
if (CSR_IS_SESSION_VALID(mac, i) &&
(csr_is_conn_state_infra(mac, i) ||
csr_is_conn_state_ibss(mac, i) ||
csr_is_conn_state_ap(mac, i))) {
return true;
}
@ -3577,10 +3522,6 @@ enum bss_type csr_translate_bsstype_to_mac_type(eCsrRoamBssType csrtype)
case eCSR_BSS_TYPE_INFRASTRUCTURE:
ret = eSIR_INFRASTRUCTURE_MODE;
break;
case eCSR_BSS_TYPE_IBSS:
case eCSR_BSS_TYPE_START_IBSS:
ret = eSIR_IBSS_MODE;
break;
case eCSR_BSS_TYPE_INFRA_AP:
ret = eSIR_INFRA_AP_MODE;
break;
@ -3840,8 +3781,6 @@ const char *sme_bss_type_to_string(const uint8_t bss_type)
switch (bss_type) {
CASE_RETURN_STRING(eCSR_BSS_TYPE_INFRASTRUCTURE);
CASE_RETURN_STRING(eCSR_BSS_TYPE_INFRA_AP);
CASE_RETURN_STRING(eCSR_BSS_TYPE_IBSS);
CASE_RETURN_STRING(eCSR_BSS_TYPE_START_IBSS);
CASE_RETURN_STRING(eCSR_BSS_TYPE_ANY);
default:
return "unknown bss type";