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:

committed by
nshrivas

parent
d280fe0dd0
commit
0907e9f8b3
@@ -903,9 +903,6 @@ QDF_STATUS hdd_set_sme_config(struct hdd_context *hdd_ctx)
|
|||||||
hdd_ctx->psoc, false);
|
hdd_ctx->psoc, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
sme_config->csr_config.isCoalesingInIBSSAllowed =
|
|
||||||
ibss_cfg.coalesing_enable;
|
|
||||||
|
|
||||||
/* Update maximum interfaces information */
|
/* Update maximum interfaces information */
|
||||||
sme_config->csr_config.max_intf_count = hdd_ctx->max_intf_count;
|
sme_config->csr_config.max_intf_count = hdd_ctx->max_intf_count;
|
||||||
|
|
||||||
|
@@ -773,7 +773,6 @@ struct mac_context {
|
|||||||
struct csr_scanstruct scan;
|
struct csr_scanstruct scan;
|
||||||
struct csr_roamstruct roam;
|
struct csr_roamstruct roam;
|
||||||
tRrmContext rrm;
|
tRrmContext rrm;
|
||||||
uint8_t isCoalesingInIBSSAllowed;
|
|
||||||
uint8_t beacon_offload;
|
uint8_t beacon_offload;
|
||||||
bool pmf_offload;
|
bool pmf_offload;
|
||||||
bool is_fils_roaming_supported;
|
bool is_fils_roaming_supported;
|
||||||
|
@@ -619,7 +619,6 @@ struct start_bss_req {
|
|||||||
tAniAuthType authType;
|
tAniAuthType authType;
|
||||||
uint32_t dtimPeriod;
|
uint32_t dtimPeriod;
|
||||||
uint8_t wps_state;
|
uint8_t wps_state;
|
||||||
uint8_t isCoalesingInIBSSAllowed; /* Coalesing on/off knob */
|
|
||||||
enum QDF_OPMODE bssPersona;
|
enum QDF_OPMODE bssPersona;
|
||||||
|
|
||||||
uint8_t txLdpcIniFeatureEnabled;
|
uint8_t txLdpcIniFeatureEnabled;
|
||||||
|
@@ -397,8 +397,6 @@ struct pe_session {
|
|||||||
int8_t rssi;
|
int8_t rssi;
|
||||||
#endif
|
#endif
|
||||||
uint8_t max_amsdu_num;
|
uint8_t max_amsdu_num;
|
||||||
uint8_t isCoalesingInIBSSAllowed;
|
|
||||||
|
|
||||||
struct ht_config ht_config;
|
struct ht_config ht_config;
|
||||||
struct sir_vht_config vht_config;
|
struct sir_vht_config vht_config;
|
||||||
/*
|
/*
|
||||||
|
@@ -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
|
* Permission to use, copy, modify, and/or distribute this software for
|
||||||
* any purpose with or without fee is hereby granted, provided that the
|
* 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;
|
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(
|
static QDF_STATUS lim_ibss_add_bss(
|
||||||
struct mac_context *mac,
|
struct mac_context *mac,
|
||||||
struct pe_session *session,
|
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
|
QDF_STATUS
|
||||||
lim_ibss_coalesce(struct mac_context *mac,
|
lim_ibss_coalesce(struct mac_context *mac,
|
||||||
tpSirMacMgmtHdr pHdr,
|
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_STR, QDF_MAC_ADDR_ARRAY(currentBssId),
|
||||||
QDF_MAC_ADDR_ARRAY(pHdr->bssId));
|
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 */
|
/* STA in IBSS mode and SSID matches with ours */
|
||||||
pPeerNode = ibss_peer_find(mac, pHdr->sa);
|
pPeerNode = ibss_peer_find(mac, pHdr->sa);
|
||||||
if (!pPeerNode) {
|
if (!pPeerNode) {
|
||||||
|
@@ -464,8 +464,6 @@ lim_configure_ap_start_bss_session(struct mac_context *mac_ctx,
|
|||||||
sme_start_bss_req->vendor_vht_sap;
|
sme_start_bss_req->vendor_vht_sap;
|
||||||
lim_get_short_slot_from_phy_mode(mac_ctx, session, session->gLimPhyMode,
|
lim_get_short_slot_from_phy_mode(mac_ctx, session, session->gLimPhyMode,
|
||||||
&session->shortSlotTimeSupported);
|
&session->shortSlotTimeSupported);
|
||||||
session->isCoalesingInIBSSAllowed =
|
|
||||||
sme_start_bss_req->isCoalesingInIBSSAllowed;
|
|
||||||
|
|
||||||
session->beacon_tx_rate = sme_start_bss_req->beacon_tx_rate;
|
session->beacon_tx_rate = sme_start_bss_req->beacon_tx_rate;
|
||||||
|
|
||||||
|
@@ -131,16 +131,12 @@ typedef enum {
|
|||||||
* enum eCsrRoamBssType - BSS type in CSR operations
|
* enum eCsrRoamBssType - BSS type in CSR operations
|
||||||
* @eCSR_BSS_TYPE_INFRASTRUCTURE: Infrastructure station
|
* @eCSR_BSS_TYPE_INFRASTRUCTURE: Infrastructure station
|
||||||
* @eCSR_BSS_TYPE_INFRA_AP: SoftAP
|
* @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_NDI: NAN datapath interface
|
||||||
* @eCSR_BSS_TYPE_ANY: any BSS type (IBSS or Infrastructure)
|
* @eCSR_BSS_TYPE_ANY: any BSS type (IBSS or Infrastructure)
|
||||||
*/
|
*/
|
||||||
typedef enum {
|
typedef enum {
|
||||||
eCSR_BSS_TYPE_INFRASTRUCTURE,
|
eCSR_BSS_TYPE_INFRASTRUCTURE,
|
||||||
eCSR_BSS_TYPE_INFRA_AP,
|
eCSR_BSS_TYPE_INFRA_AP,
|
||||||
eCSR_BSS_TYPE_IBSS,
|
|
||||||
eCSR_BSS_TYPE_START_IBSS,
|
|
||||||
eCSR_BSS_TYPE_NDI,
|
eCSR_BSS_TYPE_NDI,
|
||||||
eCSR_BSS_TYPE_ANY,
|
eCSR_BSS_TYPE_ANY,
|
||||||
} eCsrRoamBssType;
|
} eCsrRoamBssType;
|
||||||
@@ -321,8 +317,6 @@ typedef enum {
|
|||||||
* to struct mic_failure_ind
|
* to struct mic_failure_ind
|
||||||
*/
|
*/
|
||||||
eCSR_ROAM_MIC_ERROR_IND,
|
eCSR_ROAM_MIC_ERROR_IND,
|
||||||
/* IBSS indications. */
|
|
||||||
eCSR_ROAM_IBSS_IND,
|
|
||||||
/*
|
/*
|
||||||
* Update the connection status, useful for IBSS: new peer added,
|
* Update the connection status, useful for IBSS: new peer added,
|
||||||
* network is active etc.
|
* network is active etc.
|
||||||
@@ -330,7 +324,6 @@ typedef enum {
|
|||||||
eCSR_ROAM_CONNECT_STATUS_UPDATE,
|
eCSR_ROAM_CONNECT_STATUS_UPDATE,
|
||||||
eCSR_ROAM_GEN_INFO,
|
eCSR_ROAM_GEN_INFO,
|
||||||
eCSR_ROAM_SET_KEY_COMPLETE,
|
eCSR_ROAM_SET_KEY_COMPLETE,
|
||||||
eCSR_ROAM_IBSS_LEAVE, /* IBSS indications. */
|
|
||||||
/* BSS in SoftAP mode status indication */
|
/* BSS in SoftAP mode status indication */
|
||||||
eCSR_ROAM_INFRA_IND,
|
eCSR_ROAM_INFRA_IND,
|
||||||
eCSR_ROAM_WPS_PBC_PROBE_REQ_IND,
|
eCSR_ROAM_WPS_PBC_PROBE_REQ_IND,
|
||||||
@@ -364,8 +357,6 @@ typedef enum {
|
|||||||
eCSR_ROAM_UNPROT_MGMT_FRAME_IND,
|
eCSR_ROAM_UNPROT_MGMT_FRAME_IND,
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
eCSR_ROAM_IBSS_PEER_INFO_COMPLETE,
|
|
||||||
|
|
||||||
#ifdef FEATURE_WLAN_ESE
|
#ifdef FEATURE_WLAN_ESE
|
||||||
eCSR_ROAM_TSM_IE_IND,
|
eCSR_ROAM_TSM_IE_IND,
|
||||||
eCSR_ROAM_CCKM_PREAUTH_NOTIFY,
|
eCSR_ROAM_CCKM_PREAUTH_NOTIFY,
|
||||||
@@ -411,39 +402,6 @@ typedef enum {
|
|||||||
eCSR_ROAM_RESULT_DISASSOC_IND,
|
eCSR_ROAM_RESULT_DISASSOC_IND,
|
||||||
eCSR_ROAM_RESULT_DEAUTH_IND,
|
eCSR_ROAM_RESULT_DEAUTH_IND,
|
||||||
eCSR_ROAM_RESULT_CAP_CHANGED,
|
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_LOSTLINK,
|
||||||
eCSR_ROAM_RESULT_MIC_ERROR_UNICAST,
|
eCSR_ROAM_RESULT_MIC_ERROR_UNICAST,
|
||||||
eCSR_ROAM_RESULT_MIC_ERROR_GROUP,
|
eCSR_ROAM_RESULT_MIC_ERROR_GROUP,
|
||||||
@@ -481,9 +439,6 @@ typedef enum {
|
|||||||
eCSR_ROAM_RESULT_TDLS_SHOULD_TEARDOWN,
|
eCSR_ROAM_RESULT_TDLS_SHOULD_TEARDOWN,
|
||||||
eCSR_ROAM_RESULT_TDLS_SHOULD_PEER_DISCONNECTED,
|
eCSR_ROAM_RESULT_TDLS_SHOULD_PEER_DISCONNECTED,
|
||||||
eCSR_ROAM_RESULT_TDLS_CONNECTION_TRACKER_NOTIFICATION,
|
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_DFS_RADAR_FOUND_IND,
|
||||||
eCSR_ROAM_RESULT_CHANNEL_CHANGE_SUCCESS,
|
eCSR_ROAM_RESULT_CHANNEL_CHANGE_SUCCESS,
|
||||||
eCSR_ROAM_RESULT_CHANNEL_CHANGE_FAILURE,
|
eCSR_ROAM_RESULT_CHANNEL_CHANGE_FAILURE,
|
||||||
@@ -514,7 +469,6 @@ typedef enum {
|
|||||||
eCSR_DISCONNECT_REASON_DISASSOC,
|
eCSR_DISCONNECT_REASON_DISASSOC,
|
||||||
eCSR_DISCONNECT_REASON_DEAUTH,
|
eCSR_DISCONNECT_REASON_DEAUTH,
|
||||||
eCSR_DISCONNECT_REASON_HANDOFF,
|
eCSR_DISCONNECT_REASON_HANDOFF,
|
||||||
eCSR_DISCONNECT_REASON_IBSS_LEAVE,
|
|
||||||
eCSR_DISCONNECT_REASON_STA_HAS_LEFT,
|
eCSR_DISCONNECT_REASON_STA_HAS_LEFT,
|
||||||
eCSR_DISCONNECT_REASON_NDI_DELETE,
|
eCSR_DISCONNECT_REASON_NDI_DELETE,
|
||||||
eCSR_DISCONNECT_REASON_ROAM_HO_FAIL,
|
eCSR_DISCONNECT_REASON_ROAM_HO_FAIL,
|
||||||
@@ -525,10 +479,6 @@ typedef enum {
|
|||||||
eCSR_ASSOC_STATE_TYPE_NOT_CONNECTED,
|
eCSR_ASSOC_STATE_TYPE_NOT_CONNECTED,
|
||||||
/* Associated in an Infrastructure network. */
|
/* Associated in an Infrastructure network. */
|
||||||
eCSR_ASSOC_STATE_TYPE_INFRA_ASSOCIATED,
|
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 */
|
/* Participating in WDS network in AP/STA mode but not connected yet */
|
||||||
eCSR_ASSOC_STATE_TYPE_WDS_DISCONNECTED,
|
eCSR_ASSOC_STATE_TYPE_WDS_DISCONNECTED,
|
||||||
/* Participating in a WDS network and connected peer to peer */
|
/* Participating in a WDS network and connected peer to peer */
|
||||||
@@ -938,7 +888,6 @@ struct csr_config_params {
|
|||||||
uint8_t fEnableDFSChnlScan;
|
uint8_t fEnableDFSChnlScan;
|
||||||
bool send_smps_action;
|
bool send_smps_action;
|
||||||
|
|
||||||
uint8_t isCoalesingInIBSSAllowed;
|
|
||||||
#ifdef FEATURE_WLAN_MCC_TO_SCC_SWITCH
|
#ifdef FEATURE_WLAN_MCC_TO_SCC_SWITCH
|
||||||
uint8_t cc_switch_mode;
|
uint8_t cc_switch_mode;
|
||||||
#endif
|
#endif
|
||||||
@@ -996,10 +945,6 @@ struct csr_roam_info {
|
|||||||
bool fReassocReq; /* set to true if for re-association */
|
bool fReassocReq; /* set to true if for re-association */
|
||||||
bool fReassocRsp; /* set to true if for re-association */
|
bool fReassocRsp; /* set to true if for re-association */
|
||||||
struct qdf_mac_addr bssid;
|
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;
|
struct qdf_mac_addr peerMac;
|
||||||
tSirResultCodes status_code;
|
tSirResultCodes status_code;
|
||||||
/* this'd be our own defined or sent from otherBSS(per 802.11spec) */
|
/* 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);
|
QDF_STATUS qdf_status);
|
||||||
typedef QDF_STATUS (*csr_session_close_cb)(uint8_t session_id);
|
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 == \
|
#define CSR_IS_INFRASTRUCTURE(pProfile) (eCSR_BSS_TYPE_INFRASTRUCTURE == \
|
||||||
(pProfile)->BSSType)
|
(pProfile)->BSSType)
|
||||||
#define CSR_IS_ANY_BSS_TYPE(pProfile) (eCSR_BSS_TYPE_ANY == \
|
#define CSR_IS_ANY_BSS_TYPE(pProfile) (eCSR_BSS_TYPE_ANY == \
|
||||||
|
@@ -115,7 +115,6 @@ enum csr_roam_reason {
|
|||||||
eCsrSmeIssuedDisassocForHandoff,
|
eCsrSmeIssuedDisassocForHandoff,
|
||||||
/* will be issued by Handoff logic to join a new AP with same profile */
|
/* will be issued by Handoff logic to join a new AP with same profile */
|
||||||
eCsrSmeIssuedAssocToSimilarAP,
|
eCsrSmeIssuedAssocToSimilarAP,
|
||||||
eCsrForcedIbssLeave,
|
|
||||||
eCsrStopBss,
|
eCsrStopBss,
|
||||||
eCsrSmeIssuedFTReassoc,
|
eCsrSmeIssuedFTReassoc,
|
||||||
eCsrForcedDisassocSta,
|
eCsrForcedDisassocSta,
|
||||||
@@ -159,8 +158,6 @@ enum csr_roam_state {
|
|||||||
enum csr_join_state {
|
enum csr_join_state {
|
||||||
eCsrContinueRoaming,
|
eCsrContinueRoaming,
|
||||||
eCsrStopRoaming,
|
eCsrStopRoaming,
|
||||||
eCsrStartIbss,
|
|
||||||
eCsrStartIbssSameIbss,
|
|
||||||
eCsrReassocToSelfNoCapChange,
|
eCsrReassocToSelfNoCapChange,
|
||||||
eCsrStopRoamingDueToConcurrency,
|
eCsrStopRoamingDueToConcurrency,
|
||||||
|
|
||||||
@@ -356,7 +353,6 @@ struct csr_config {
|
|||||||
bool doBMPSWorkaround;
|
bool doBMPSWorkaround;
|
||||||
uint32_t nVhtChannelWidth;
|
uint32_t nVhtChannelWidth;
|
||||||
bool send_smps_action;
|
bool send_smps_action;
|
||||||
uint8_t isCoalesingInIBSSAllowed;
|
|
||||||
#ifdef FEATURE_WLAN_MCC_TO_SCC_SWITCH
|
#ifdef FEATURE_WLAN_MCC_TO_SCC_SWITCH
|
||||||
uint8_t cc_switch_mode;
|
uint8_t cc_switch_mode;
|
||||||
#endif
|
#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,
|
bool csr_is_conn_state_infra(struct mac_context *mac,
|
||||||
uint32_t sessionId);
|
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_wds(struct mac_context *mac, uint32_t sessionId);
|
||||||
bool csr_is_conn_state_connected_wds(struct mac_context *mac,
|
bool csr_is_conn_state_connected_wds(struct mac_context *mac,
|
||||||
uint32_t sessionId);
|
uint32_t sessionId);
|
||||||
|
@@ -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
|
* Permission to use, copy, modify, and/or distribute this software for
|
||||||
* any purpose with or without fee is hereby granted, provided that the
|
* 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_nullssid(uint8_t *pBssSsid, uint8_t len);
|
||||||
bool csr_is_infra_bss_desc(struct bss_description *pSirBssDesc);
|
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);
|
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_frag_thresh(struct mac_context *mac_ctx);
|
||||||
uint32_t csr_get_rts_thresh(struct mac_context *mac_ctx);
|
uint32_t csr_get_rts_thresh(struct mac_context *mac_ctx);
|
||||||
|
@@ -1212,34 +1212,6 @@ QDF_STATUS sme_send_rmc_action_period(mac_handle_t mac_handle,
|
|||||||
uint32_t sessionId);
|
uint32_t sessionId);
|
||||||
#endif
|
#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,
|
QDF_STATUS sme_send_cesium_enable_ind(mac_handle_t mac_handle,
|
||||||
uint32_t sessionId);
|
uint32_t sessionId);
|
||||||
|
|
||||||
|
@@ -71,16 +71,6 @@ typedef enum eSmeState {
|
|||||||
#define SME_IS_START(mac) (SME_STATE_STOP != (mac)->sme.state)
|
#define SME_IS_START(mac) (SME_STATE_STOP != (mac)->sme.state)
|
||||||
#define SME_IS_READY(mac) (SME_STATE_READY == (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
|
* struct stats_ext_event - stats_ext_event payload
|
||||||
* @vdev_id: ID of the vdev for the stats
|
* @vdev_id: ID of the vdev for the stats
|
||||||
@@ -291,7 +281,6 @@ struct sme_context {
|
|||||||
void **sme_cmd_buf_addr;
|
void **sme_cmd_buf_addr;
|
||||||
tDblLinkList sme_cmd_freelist; /* preallocated roam cmd list */
|
tDblLinkList sme_cmd_freelist; /* preallocated roam cmd list */
|
||||||
enum QDF_OPMODE curr_device_mode;
|
enum QDF_OPMODE curr_device_mode;
|
||||||
struct ibss_peer_info_cb_info peer_info_cb_info;
|
|
||||||
#ifdef FEATURE_WLAN_DIAG_SUPPORT_CSR
|
#ifdef FEATURE_WLAN_DIAG_SUPPORT_CSR
|
||||||
host_event_wlan_status_payload_type eventPayload;
|
host_event_wlan_status_payload_type eventPayload;
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1837,94 +1837,6 @@ QDF_STATUS sme_get_roam_scan_ch(mac_handle_t mac_handle,
|
|||||||
}
|
}
|
||||||
#endif
|
#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
|
* sme_process_dual_mac_config_resp() - Process set Dual mac config response
|
||||||
* @mac: Global MAC pointer
|
* @mac: Global MAC pointer
|
||||||
@@ -2192,15 +2104,6 @@ QDF_STATUS sme_process_msg(struct mac_context *mac, struct scheduler_msg *pMsg)
|
|||||||
pMsg->bodyptr);
|
pMsg->bodyptr);
|
||||||
qdf_mem_free(pMsg->bodyptr);
|
qdf_mem_free(pMsg->bodyptr);
|
||||||
break;
|
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
|
#ifdef WLAN_FEATURE_EXTWOW_SUPPORT
|
||||||
case eWNI_SME_READY_TO_EXTWOW_IND:
|
case eWNI_SME_READY_TO_EXTWOW_IND:
|
||||||
if (pMsg->bodyptr) {
|
if (pMsg->bodyptr) {
|
||||||
@@ -4811,11 +4714,7 @@ QDF_STATUS sme_get_operation_channel(mac_handle_t mac_handle,
|
|||||||
if ((pSession->connectedProfile.BSSType ==
|
if ((pSession->connectedProfile.BSSType ==
|
||||||
eCSR_BSS_TYPE_INFRASTRUCTURE)
|
eCSR_BSS_TYPE_INFRASTRUCTURE)
|
||||||
|| (pSession->connectedProfile.BSSType ==
|
|| (pSession->connectedProfile.BSSType ==
|
||||||
eCSR_BSS_TYPE_IBSS)
|
eCSR_BSS_TYPE_INFRA_AP)) {
|
||||||
|| (pSession->connectedProfile.BSSType ==
|
|
||||||
eCSR_BSS_TYPE_INFRA_AP)
|
|
||||||
|| (pSession->connectedProfile.BSSType ==
|
|
||||||
eCSR_BSS_TYPE_START_IBSS)) {
|
|
||||||
*chan_freq = pSession->connectedProfile.op_freq;
|
*chan_freq = pSession->connectedProfile.op_freq;
|
||||||
return QDF_STATUS_SUCCESS;
|
return QDF_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
File diff suppressed because it is too large
Load Diff
@@ -256,28 +256,7 @@ QDF_STATUS csr_scan_handle_search_for_ssid_failure(struct mac_context *mac_ctx,
|
|||||||
|
|
||||||
profile = session->scan_info.profile;
|
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;
|
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));
|
roam_info = qdf_mem_malloc(sizeof(struct csr_roam_info));
|
||||||
if (!roam_info)
|
if (!roam_info)
|
||||||
|
@@ -61,7 +61,6 @@ enum csr_roamcomplete_result {
|
|||||||
eCsrNothingToJoin,
|
eCsrNothingToJoin,
|
||||||
eCsrStartBssSuccess,
|
eCsrStartBssSuccess,
|
||||||
eCsrStartBssFailure,
|
eCsrStartBssFailure,
|
||||||
eCsrSilentlyStopRoaming,
|
|
||||||
eCsrSilentlyStopRoamingSaveState,
|
eCsrSilentlyStopRoamingSaveState,
|
||||||
eCsrJoinFailureDueToConcurrency,
|
eCsrJoinFailureDueToConcurrency,
|
||||||
eCsrStopBssSuccess,
|
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_FAILURE 1
|
||||||
#define WLAN_SCAN_STATUS_ABORT 2
|
#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 AUTO_PICK 0
|
||||||
#define SPECIFIED 1
|
#define SPECIFIED 1
|
||||||
|
|
||||||
|
@@ -402,9 +402,6 @@ csr_neighbor_roam_get_scan_filter_from_profile(struct mac_context *mac,
|
|||||||
|
|
||||||
if (profile->BSSType == eCSR_BSS_TYPE_INFRASTRUCTURE)
|
if (profile->BSSType == eCSR_BSS_TYPE_INFRASTRUCTURE)
|
||||||
filter->bss_type = WLAN_TYPE_BSS;
|
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
|
else
|
||||||
filter->bss_type = WLAN_TYPE_ANY;
|
filter->bss_type = WLAN_TYPE_ANY;
|
||||||
|
|
||||||
|
@@ -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);
|
||||||
CASE_RETURN_STR(eCSR_ROAM_LOSTLINK_DETECTED);
|
CASE_RETURN_STR(eCSR_ROAM_LOSTLINK_DETECTED);
|
||||||
CASE_RETURN_STR(eCSR_ROAM_MIC_ERROR_IND);
|
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_CONNECT_STATUS_UPDATE);
|
||||||
CASE_RETURN_STR(eCSR_ROAM_GEN_INFO);
|
CASE_RETURN_STR(eCSR_ROAM_GEN_INFO);
|
||||||
CASE_RETURN_STR(eCSR_ROAM_SET_KEY_COMPLETE);
|
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_INFRA_IND);
|
||||||
CASE_RETURN_STR(eCSR_ROAM_WPS_PBC_PROBE_REQ_IND);
|
CASE_RETURN_STR(eCSR_ROAM_WPS_PBC_PROBE_REQ_IND);
|
||||||
CASE_RETURN_STR(eCSR_ROAM_FT_RESPONSE);
|
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
|
#ifdef WLAN_FEATURE_11W
|
||||||
CASE_RETURN_STR(eCSR_ROAM_UNPROT_MGMT_FRAME_IND);
|
CASE_RETURN_STR(eCSR_ROAM_UNPROT_MGMT_FRAME_IND);
|
||||||
#endif
|
#endif
|
||||||
#ifdef WLAN_FEATURE_RMC
|
|
||||||
CASE_RETURN_STR(eCSR_ROAM_IBSS_PEER_INFO_COMPLETE);
|
|
||||||
#endif
|
|
||||||
#ifdef FEATURE_WLAN_ESE
|
#ifdef FEATURE_WLAN_ESE
|
||||||
CASE_RETURN_STR(eCSR_ROAM_TSM_IE_IND);
|
CASE_RETURN_STR(eCSR_ROAM_TSM_IE_IND);
|
||||||
CASE_RETURN_STR(eCSR_ROAM_CCKM_PREAUTH_NOTIFY);
|
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_DISASSOC_IND);
|
||||||
CASE_RETURN_STR(eCSR_ROAM_RESULT_DEAUTH_IND);
|
CASE_RETURN_STR(eCSR_ROAM_RESULT_DEAUTH_IND);
|
||||||
CASE_RETURN_STR(eCSR_ROAM_RESULT_CAP_CHANGED);
|
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_LOSTLINK);
|
||||||
CASE_RETURN_STR(eCSR_ROAM_RESULT_MIC_ERROR_UNICAST);
|
CASE_RETURN_STR(eCSR_ROAM_RESULT_MIC_ERROR_UNICAST);
|
||||||
CASE_RETURN_STR(eCSR_ROAM_RESULT_MIC_ERROR_GROUP);
|
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_SHOULD_PEER_DISCONNECTED);
|
||||||
CASE_RETURN_STR
|
CASE_RETURN_STR
|
||||||
(eCSR_ROAM_RESULT_TDLS_CONNECTION_TRACKER_NOTIFICATION);
|
(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_DFS_RADAR_FOUND_IND);
|
||||||
CASE_RETURN_STR(eCSR_ROAM_RESULT_CHANNEL_CHANGE_SUCCESS);
|
CASE_RETURN_STR(eCSR_ROAM_RESULT_CHANNEL_CHANGE_SUCCESS);
|
||||||
CASE_RETURN_STR(eCSR_ROAM_RESULT_CHANNEL_CHANGE_FAILURE);
|
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)
|
bool csr_is_conn_state_connected(struct mac_context *mac, uint32_t sessionId)
|
||||||
{
|
{
|
||||||
return csr_is_conn_state_connected_ibss(mac, sessionId) ||
|
return csr_is_conn_state_connected_infra(mac, sessionId) ||
|
||||||
csr_is_conn_state_connected_infra(mac, sessionId) ||
|
csr_is_conn_state_connected_wds(mac, sessionId);
|
||||||
csr_is_conn_state_connected_wds(mac, sessionId);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool csr_is_conn_state_infra(struct mac_context *mac, uint32_t 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;
|
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,
|
bool csr_is_conn_state_connected_wds(struct mac_context *mac_ctx,
|
||||||
uint32_t session_id)
|
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++) {
|
for (i = 0; i < WLAN_MAX_VDEVS; i++) {
|
||||||
if (CSR_IS_SESSION_VALID(mac, i) &&
|
if (CSR_IS_SESSION_VALID(mac, i) &&
|
||||||
(csr_is_conn_state_infra(mac, i) ||
|
(csr_is_conn_state_infra(mac, i) ||
|
||||||
csr_is_conn_state_ibss(mac, i) ||
|
|
||||||
csr_is_conn_state_ap(mac, i))) {
|
csr_is_conn_state_ap(mac, i))) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -3577,10 +3522,6 @@ enum bss_type csr_translate_bsstype_to_mac_type(eCsrRoamBssType csrtype)
|
|||||||
case eCSR_BSS_TYPE_INFRASTRUCTURE:
|
case eCSR_BSS_TYPE_INFRASTRUCTURE:
|
||||||
ret = eSIR_INFRASTRUCTURE_MODE;
|
ret = eSIR_INFRASTRUCTURE_MODE;
|
||||||
break;
|
break;
|
||||||
case eCSR_BSS_TYPE_IBSS:
|
|
||||||
case eCSR_BSS_TYPE_START_IBSS:
|
|
||||||
ret = eSIR_IBSS_MODE;
|
|
||||||
break;
|
|
||||||
case eCSR_BSS_TYPE_INFRA_AP:
|
case eCSR_BSS_TYPE_INFRA_AP:
|
||||||
ret = eSIR_INFRA_AP_MODE;
|
ret = eSIR_INFRA_AP_MODE;
|
||||||
break;
|
break;
|
||||||
@@ -3840,8 +3781,6 @@ const char *sme_bss_type_to_string(const uint8_t bss_type)
|
|||||||
switch (bss_type) {
|
switch (bss_type) {
|
||||||
CASE_RETURN_STRING(eCSR_BSS_TYPE_INFRASTRUCTURE);
|
CASE_RETURN_STRING(eCSR_BSS_TYPE_INFRASTRUCTURE);
|
||||||
CASE_RETURN_STRING(eCSR_BSS_TYPE_INFRA_AP);
|
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);
|
CASE_RETURN_STRING(eCSR_BSS_TYPE_ANY);
|
||||||
default:
|
default:
|
||||||
return "unknown bss type";
|
return "unknown bss type";
|
||||||
|
Reference in New Issue
Block a user