qcacld-3.0: Keep IBSS code under feature flag in LIM
IBSS code is placed under QCA_IBSS_SUPPORT feature flag. Change-Id: Ib19f955daea1ccfee860fcbd36a0cfb8392906aa CRs-Fixed: 2537006
This commit is contained in:

committed by
nshrivas

parent
87ddf110ec
commit
dddf428b7a
@@ -189,13 +189,46 @@ QDF_STATUS lim_post_msg_high_priority(struct mac_context *mac,
|
|||||||
*/
|
*/
|
||||||
void lim_message_processor(struct mac_context *, struct scheduler_msg *);
|
void lim_message_processor(struct mac_context *, struct scheduler_msg *);
|
||||||
|
|
||||||
|
#ifdef QCA_IBSS_SUPPORT
|
||||||
/**
|
/**
|
||||||
* Function to handle IBSS coalescing.
|
* lim_handle_ibss_coalescing() - Function to handle IBSS coalescing.
|
||||||
* Beacon Processing module to call this.
|
* @param mac - Pointer to Global MAC structure
|
||||||
|
* @param pBeacon - Parsed Beacon Frame structure
|
||||||
|
* @param pRxPacketInfo - Pointer to RX packet info structure
|
||||||
|
* @pe_session - pointer to pe session
|
||||||
|
*
|
||||||
|
* This function is called upon receiving Beacon/Probe Response
|
||||||
|
* while operating in IBSS mode.
|
||||||
|
*
|
||||||
|
* @return Status whether to process or ignore received Beacon Frame
|
||||||
*/
|
*/
|
||||||
QDF_STATUS lim_handle_ibss_coalescing(struct mac_context *,
|
QDF_STATUS
|
||||||
tpSchBeaconStruct,
|
lim_handle_ibss_coalescing(struct mac_context *mac,
|
||||||
uint8_t *, struct pe_session *);
|
tpSchBeaconStruct pBeacon,
|
||||||
|
uint8_t *pRxPacketInfo,
|
||||||
|
struct pe_session *pe_session);
|
||||||
|
#else
|
||||||
|
/**
|
||||||
|
* lim_handle_ibss_coalescing() - Function to handle IBSS coalescing.
|
||||||
|
* @param mac - Pointer to Global MAC structure
|
||||||
|
* @param pBeacon - Parsed Beacon Frame structure
|
||||||
|
* @param pRxPacketInfo - Pointer to RX packet info structure
|
||||||
|
* @pe_session - pointer to pe session
|
||||||
|
*
|
||||||
|
* This function is dummy
|
||||||
|
*
|
||||||
|
* @return Status whether to process or ignore received Beacon Frame
|
||||||
|
*/
|
||||||
|
static inline QDF_STATUS
|
||||||
|
lim_handle_ibss_coalescing(struct mac_context *mac,
|
||||||
|
tpSchBeaconStruct pBeacon,
|
||||||
|
uint8_t *pRxPacketInfo,
|
||||||
|
struct pe_session *pe_session)
|
||||||
|
{
|
||||||
|
return QDF_STATUS_SUCCESS;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* / Function used by other Sirius modules to read global SME state */
|
/* / Function used by other Sirius modules to read global SME state */
|
||||||
static inline tLimSmeStates lim_get_sme_state(struct mac_context *mac)
|
static inline tLimSmeStates lim_get_sme_state(struct mac_context *mac)
|
||||||
{
|
{
|
||||||
|
@@ -1389,22 +1389,15 @@ lim_update_overlap_sta_param(struct mac_context *mac, tSirMacAddr bssId,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef QCA_IBSS_SUPPORT
|
||||||
/**
|
/**
|
||||||
* lim_ibss_enc_type_matched
|
* lim_ibss_enc_type_matched() - API to check enc type match
|
||||||
*
|
|
||||||
***FUNCTION:
|
|
||||||
* This function compares the encryption type of the peer with self
|
|
||||||
* while operating in IBSS mode and detects mismatch.
|
|
||||||
*
|
|
||||||
***LOGIC:
|
|
||||||
*
|
|
||||||
***ASSUMPTIONS:
|
|
||||||
*
|
|
||||||
***NOTE:
|
|
||||||
*
|
|
||||||
* @param pBeacon - Parsed Beacon Frame structure
|
* @param pBeacon - Parsed Beacon Frame structure
|
||||||
* @param pSession - Pointer to the PE session
|
* @param pSession - Pointer to the PE session
|
||||||
*
|
*
|
||||||
|
* This function compares the encryption type of the peer with self
|
||||||
|
* while operating in IBSS mode and detects mismatch.
|
||||||
|
*
|
||||||
* @return true if encryption type is matched; false otherwise
|
* @return true if encryption type is matched; false otherwise
|
||||||
*/
|
*/
|
||||||
static bool lim_ibss_enc_type_matched(tpSchBeaconStruct pBeacon,
|
static bool lim_ibss_enc_type_matched(tpSchBeaconStruct pBeacon,
|
||||||
@@ -1437,26 +1430,6 @@ static bool lim_ibss_enc_type_matched(tpSchBeaconStruct pBeacon,
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* lim_handle_ibs_scoalescing()
|
|
||||||
*
|
|
||||||
***FUNCTION:
|
|
||||||
* This function is called upon receiving Beacon/Probe Response
|
|
||||||
* while operating in IBSS mode.
|
|
||||||
*
|
|
||||||
***LOGIC:
|
|
||||||
*
|
|
||||||
***ASSUMPTIONS:
|
|
||||||
*
|
|
||||||
***NOTE:
|
|
||||||
*
|
|
||||||
* @param mac - Pointer to Global MAC structure
|
|
||||||
* @param pBeacon - Parsed Beacon Frame structure
|
|
||||||
* @param pRxPacketInfo - Pointer to RX packet info structure
|
|
||||||
*
|
|
||||||
* @return Status whether to process or ignore received Beacon Frame
|
|
||||||
*/
|
|
||||||
|
|
||||||
QDF_STATUS
|
QDF_STATUS
|
||||||
lim_handle_ibss_coalescing(struct mac_context *mac,
|
lim_handle_ibss_coalescing(struct mac_context *mac,
|
||||||
tpSchBeaconStruct pBeacon,
|
tpSchBeaconStruct pBeacon,
|
||||||
@@ -1499,6 +1472,7 @@ lim_handle_ibss_coalescing(struct mac_context *mac,
|
|||||||
}
|
}
|
||||||
return retCode;
|
return retCode;
|
||||||
} /*** end lim_handle_ibs_scoalescing() ***/
|
} /*** end lim_handle_ibs_scoalescing() ***/
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* lim_enc_type_matched() - matches security type of incoming beracon with
|
* lim_enc_type_matched() - matches security type of incoming beracon with
|
||||||
|
@@ -863,52 +863,11 @@ lim_ibss_decide_protection(struct mac_context *mac, tpDphHashNode sta,
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* lim_ibss_peer_find()
|
|
||||||
*
|
|
||||||
***FUNCTION:
|
|
||||||
* This function is called while adding a context at
|
|
||||||
* DPH & Polaris for a peer in IBSS.
|
|
||||||
* If peer is found in the list, capabilities from the
|
|
||||||
* returned BSS description are used at DPH node & Polaris.
|
|
||||||
*
|
|
||||||
***LOGIC:
|
|
||||||
*
|
|
||||||
***ASSUMPTIONS:
|
|
||||||
*
|
|
||||||
***NOTE:
|
|
||||||
*
|
|
||||||
* @param macAddr - MAC address of the peer
|
|
||||||
*
|
|
||||||
* @return Pointer to peer node if found, else NULL
|
|
||||||
*/
|
|
||||||
tLimIbssPeerNode *lim_ibss_peer_find(struct mac_context *mac, tSirMacAddr macAddr)
|
tLimIbssPeerNode *lim_ibss_peer_find(struct mac_context *mac, tSirMacAddr macAddr)
|
||||||
{
|
{
|
||||||
return ibss_peer_find(mac, macAddr);
|
return ibss_peer_find(mac, macAddr);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* lim_ibss_sta_add()
|
|
||||||
*
|
|
||||||
***FUNCTION:
|
|
||||||
* This function is called to add an STA context in IBSS role
|
|
||||||
* whenever a data frame is received from/for a STA that failed
|
|
||||||
* hash lookup at DPH.
|
|
||||||
*
|
|
||||||
***LOGIC:
|
|
||||||
*
|
|
||||||
***ASSUMPTIONS:
|
|
||||||
* NA
|
|
||||||
*
|
|
||||||
***NOTE:
|
|
||||||
* NA
|
|
||||||
*
|
|
||||||
* @param mac Pointer to Global MAC structure
|
|
||||||
* @param peerAdddr MAC address of the peer being added
|
|
||||||
* @return retCode Indicates success or failure return code
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
|
|
||||||
QDF_STATUS
|
QDF_STATUS
|
||||||
lim_ibss_sta_add(struct mac_context *mac, void *pBody, struct pe_session *pe_session)
|
lim_ibss_sta_add(struct mac_context *mac, void *pBody, struct pe_session *pe_session)
|
||||||
{
|
{
|
||||||
@@ -1340,26 +1299,6 @@ static void lim_ibss_bss_delete(struct mac_context *mac,
|
|||||||
pe_err("Deliver WLAN_VDEV_SM_EV_DOWN failed");
|
pe_err("Deliver WLAN_VDEV_SM_EV_DOWN failed");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* lim_ibss_coalesce()
|
|
||||||
*
|
|
||||||
***FUNCTION:
|
|
||||||
* This function is called upon receiving Beacon/Probe Response
|
|
||||||
* while operating in IBSS mode.
|
|
||||||
*
|
|
||||||
***LOGIC:
|
|
||||||
*
|
|
||||||
***ASSUMPTIONS:
|
|
||||||
*
|
|
||||||
***NOTE:
|
|
||||||
*
|
|
||||||
* @param mac - Pointer to Global MAC structure
|
|
||||||
* @param pBeacon - Parsed Beacon Frame structure
|
|
||||||
* @param pBD - Pointer to received BD
|
|
||||||
*
|
|
||||||
* @return Status whether to process or ignore received Beacon Frame
|
|
||||||
*/
|
|
||||||
|
|
||||||
QDF_STATUS
|
QDF_STATUS
|
||||||
lim_ibss_coalesce(struct mac_context *mac,
|
lim_ibss_coalesce(struct mac_context *mac,
|
||||||
tpSirMacMgmtHdr pHdr,
|
tpSirMacMgmtHdr pHdr,
|
||||||
@@ -1520,16 +1459,6 @@ lim_ibss_coalesce(struct mac_context *mac,
|
|||||||
return QDF_STATUS_SUCCESS;
|
return QDF_STATUS_SUCCESS;
|
||||||
} /*** end lim_handle_ibs_scoalescing() ***/
|
} /*** end lim_handle_ibs_scoalescing() ***/
|
||||||
|
|
||||||
/**
|
|
||||||
* lim_ibss_heart_beat_handle() - handle IBSS hearbeat failure
|
|
||||||
*
|
|
||||||
* @mac_ctx: global mac context
|
|
||||||
* @session: PE session entry
|
|
||||||
*
|
|
||||||
* Hanlde IBSS hearbeat failure.
|
|
||||||
*
|
|
||||||
* Return: None.
|
|
||||||
*/
|
|
||||||
void lim_ibss_heart_beat_handle(struct mac_context *mac_ctx, struct pe_session *session)
|
void lim_ibss_heart_beat_handle(struct mac_context *mac_ctx, struct pe_session *session)
|
||||||
{
|
{
|
||||||
tLimIbssPeerNode *tempnode, *prevnode;
|
tLimIbssPeerNode *tempnode, *prevnode;
|
||||||
@@ -1645,18 +1574,6 @@ void lim_ibss_heart_beat_handle(struct mac_context *mac_ctx, struct pe_session *
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* lim_ibss_decide_protection_on_delete() - decides protection related info.
|
|
||||||
*
|
|
||||||
* @mac_ctx: global mac context
|
|
||||||
* @stads: station hash node
|
|
||||||
* @bcn_param: beacon parameters
|
|
||||||
* @session: PE session entry
|
|
||||||
*
|
|
||||||
* Decides all the protection related information.
|
|
||||||
*
|
|
||||||
* Return: None
|
|
||||||
*/
|
|
||||||
void lim_ibss_decide_protection_on_delete(struct mac_context *mac_ctx,
|
void lim_ibss_decide_protection_on_delete(struct mac_context *mac_ctx,
|
||||||
tpDphHashNode stads,
|
tpDphHashNode stads,
|
||||||
tpUpdateBeaconParams bcn_param,
|
tpUpdateBeaconParams bcn_param,
|
||||||
|
@@ -30,8 +30,9 @@
|
|||||||
#include "sir_common.h"
|
#include "sir_common.h"
|
||||||
#include "lim_utils.h"
|
#include "lim_utils.h"
|
||||||
|
|
||||||
|
#ifdef QCA_IBSS_SUPPORT
|
||||||
/**
|
/**
|
||||||
* ibss_bss_delete()- start the ibss
|
* ibss_bss_add()- add the ibss
|
||||||
* @mac_ctx: Pointer to Global MAC structure
|
* @mac_ctx: Pointer to Global MAC structure
|
||||||
* @session: pe session
|
* @session: pe session
|
||||||
*
|
*
|
||||||
@@ -49,7 +50,7 @@ void ibss_bss_add(struct mac_context *mac_ctx, struct pe_session *session);
|
|||||||
void ibss_bss_delete(struct mac_context *mac_ctx, struct pe_session *session);
|
void ibss_bss_delete(struct mac_context *mac_ctx, struct pe_session *session);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* lim_ibss_delete_all_peers: delete all IBSS peers.
|
* lim_ibss_delete_all_peers() - delete all IBSS peers.
|
||||||
* @mac_ctx: Pointer to Global MAC structure
|
* @mac_ctx: Pointer to Global MAC structure
|
||||||
* @session: pe session
|
* @session: pe session
|
||||||
*
|
*
|
||||||
@@ -57,6 +58,12 @@ void ibss_bss_delete(struct mac_context *mac_ctx, struct pe_session *session);
|
|||||||
*/
|
*/
|
||||||
void lim_ibss_delete_all_peers(struct mac_context *mac_ctx, struct pe_session *session);
|
void lim_ibss_delete_all_peers(struct mac_context *mac_ctx, struct pe_session *session);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* lim_ibss_init() - API to init IBSS
|
||||||
|
* @mac_ctx: Pointer to Global MAC structure
|
||||||
|
*
|
||||||
|
* Return: None
|
||||||
|
*/
|
||||||
void lim_ibss_init(struct mac_context *);
|
void lim_ibss_init(struct mac_context *);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -69,16 +76,50 @@ void lim_ibss_init(struct mac_context *);
|
|||||||
*/
|
*/
|
||||||
void lim_ibss_delete(struct mac_context *, struct pe_session *pe_session);
|
void lim_ibss_delete(struct mac_context *, struct pe_session *pe_session);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* lim_ibss_coalesce() - API to process IBSS Beacon/Probe Response
|
||||||
|
* @param mac - Pointer to Global MAC structure
|
||||||
|
* @param pBeacon - Parsed Beacon Frame structure
|
||||||
|
* @param pBD - Pointer to received BD
|
||||||
|
*
|
||||||
|
* This function is called upon receiving Beacon/Probe Response
|
||||||
|
* while operating in IBSS mode.
|
||||||
|
*
|
||||||
|
* @return Status whether to process or ignore received Beacon Frame
|
||||||
|
*/
|
||||||
QDF_STATUS lim_ibss_coalesce(struct mac_context *, tpSirMacMgmtHdr,
|
QDF_STATUS lim_ibss_coalesce(struct mac_context *, tpSirMacMgmtHdr,
|
||||||
tpSchBeaconStruct, uint8_t *, uint32_t, uint16_t,
|
tpSchBeaconStruct, uint8_t *, uint32_t, uint16_t,
|
||||||
struct pe_session *);
|
struct pe_session *);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* lim_ibss_sta_add() - API to add an STA context in IBSS role
|
||||||
|
* @param mac Pointer to Global MAC structure
|
||||||
|
* @param peerAdddr MAC address of the peer being added
|
||||||
|
*
|
||||||
|
* This function is called to add an STA context in IBSS role
|
||||||
|
* whenever a data frame is received from/for a STA that failed
|
||||||
|
* hash lookup at DPH.
|
||||||
|
*
|
||||||
|
* @return retCode Indicates success or failure return code
|
||||||
|
*/
|
||||||
QDF_STATUS lim_ibss_sta_add(struct mac_context *, void *, struct pe_session *);
|
QDF_STATUS lim_ibss_sta_add(struct mac_context *, void *, struct pe_session *);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* lim_ibss_add_sta_rsp() - API to process STA add response in IBSS role
|
||||||
|
* @param mac Pointer to Global MAC structure
|
||||||
|
* @param peerAdddr MAC address of the peer being added
|
||||||
|
*
|
||||||
|
* This function is called to add an STA context in IBSS role
|
||||||
|
* whenever a data frame is received from/for a STA that failed
|
||||||
|
* hash lookup at DPH.
|
||||||
|
*
|
||||||
|
* @return retCode Indicates success or failure return code
|
||||||
|
*/
|
||||||
QDF_STATUS lim_ibss_add_sta_rsp(struct mac_context *, void *, struct pe_session *);
|
QDF_STATUS lim_ibss_add_sta_rsp(struct mac_context *, void *, struct pe_session *);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* lim_process_ibss_del_sta_rsp()- Handle ibss delete
|
* lim_process_ibss_del_sta_rsp()- Handle ibss delete
|
||||||
* peer resp from firmware
|
* peer resp from firmware
|
||||||
*
|
|
||||||
* @mac_ptr: Pointer to Global MAC structure
|
* @mac_ptr: Pointer to Global MAC structure
|
||||||
* @lim_msg: delete sta response
|
* @lim_msg: delete sta response
|
||||||
* @pe_session: pe session
|
* @pe_session: pe session
|
||||||
@@ -90,12 +131,23 @@ void lim_process_ibss_del_sta_rsp(struct mac_context *mac_ctx,
|
|||||||
struct scheduler_msg *lim_msg,
|
struct scheduler_msg *lim_msg,
|
||||||
struct pe_session *pe_session);
|
struct pe_session *pe_session);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* lim_ibss_peer_find() - API to find IBSS peer
|
||||||
|
* @mac: pointer to mac context
|
||||||
|
* @param macAddr - MAC address of the peer
|
||||||
|
*
|
||||||
|
* This function is called while adding a context at
|
||||||
|
* DPH & Polaris for a peer in IBSS.
|
||||||
|
* If peer is found in the list, capabilities from the
|
||||||
|
* returned BSS description are used at DPH node & Polaris.
|
||||||
|
*
|
||||||
|
* @return Pointer to peer node if found, else NULL
|
||||||
|
*/
|
||||||
tLimIbssPeerNode *lim_ibss_peer_find(struct mac_context *mac, tSirMacAddr macAddr);
|
tLimIbssPeerNode *lim_ibss_peer_find(struct mac_context *mac, tSirMacAddr macAddr);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* lim_ibss_del_bss_rsp() - Handle ibss delete
|
* lim_ibss_del_bss_rsp() - Handle ibss delete
|
||||||
* response
|
* response
|
||||||
*
|
|
||||||
* @mac: Pointer to Global MAC structure
|
* @mac: Pointer to Global MAC structure
|
||||||
* @vdev_stop_rsp: pointer to del bss response
|
* @vdev_stop_rsp: pointer to del bss response
|
||||||
* @pe_session: pointer to pe session
|
* @pe_session: pointer to pe session
|
||||||
@@ -110,7 +162,6 @@ void lim_ibss_del_bss_rsp(struct mac_context *mac,
|
|||||||
/**
|
/**
|
||||||
* lim_ibss_del_bss_rsp_when_coalescing() - Handle ibss delete
|
* lim_ibss_del_bss_rsp_when_coalescing() - Handle ibss delete
|
||||||
* response when coalescing
|
* response when coalescing
|
||||||
*
|
|
||||||
* @mac: Pointer to Global MAC structure
|
* @mac: Pointer to Global MAC structure
|
||||||
* @vdev_stop_rsp: pointer to del bss response
|
* @vdev_stop_rsp: pointer to del bss response
|
||||||
* @pe_session: pointer to pe session
|
* @pe_session: pointer to pe session
|
||||||
@@ -133,8 +184,288 @@ void lim_ibss_del_bss_rsp_when_coalescing(struct mac_context *mac,
|
|||||||
void lim_ibss_add_bss_rsp_when_coalescing(struct mac_context *mac,
|
void lim_ibss_add_bss_rsp_when_coalescing(struct mac_context *mac,
|
||||||
uint32_t op_chan_freq,
|
uint32_t op_chan_freq,
|
||||||
struct pe_session *pe_session);
|
struct pe_session *pe_session);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* lim_ibss_decide_protection_on_delete() - decides protection related info.
|
||||||
|
* @mac_ctx: global mac context
|
||||||
|
* @stads: station hash node
|
||||||
|
* @bcn_param: beacon parameters
|
||||||
|
* @session: PE session entry
|
||||||
|
*
|
||||||
|
* Decides all the protection related information.
|
||||||
|
*
|
||||||
|
* Return: None
|
||||||
|
*/
|
||||||
void lim_ibss_decide_protection_on_delete(struct mac_context *mac, tpDphHashNode sta,
|
void lim_ibss_decide_protection_on_delete(struct mac_context *mac, tpDphHashNode sta,
|
||||||
tpUpdateBeaconParams pBeaconParams,
|
tpUpdateBeaconParams pBeaconParams,
|
||||||
struct pe_session *pe_session);
|
struct pe_session *pe_session);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* lim_ibss_heart_beat_handle() - handle IBSS hearbeat failure
|
||||||
|
* @mac_ctx: global mac context
|
||||||
|
* @session: PE session entry
|
||||||
|
*
|
||||||
|
* Hanlde IBSS hearbeat failure.
|
||||||
|
*
|
||||||
|
* Return: None.
|
||||||
|
*/
|
||||||
void lim_ibss_heart_beat_handle(struct mac_context *mac, struct pe_session *pe_session);
|
void lim_ibss_heart_beat_handle(struct mac_context *mac, struct pe_session *pe_session);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* lim_process_ibss_peer_inactivity() - Handle inactive IBSS peer
|
||||||
|
* @mac: Global MAC context
|
||||||
|
* @buf: pointer to buffer
|
||||||
|
*
|
||||||
|
* Internal function. Deletes FW indicated peer which is inactive
|
||||||
|
*
|
||||||
|
* Return: None
|
||||||
|
*/
|
||||||
void lim_process_ibss_peer_inactivity(struct mac_context *mac, void *buf);
|
void lim_process_ibss_peer_inactivity(struct mac_context *mac, void *buf);
|
||||||
|
#else
|
||||||
|
/**
|
||||||
|
* ibss_bss_add()- api to add ibss
|
||||||
|
* @mac_ctx: Pointer to Global MAC structure
|
||||||
|
* @session: pe session
|
||||||
|
*
|
||||||
|
* Return: None
|
||||||
|
*/
|
||||||
|
static inline
|
||||||
|
void ibss_bss_add(struct mac_context *mac_ctx, struct pe_session *session)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ibss_bss_delete()- delete the current BSS
|
||||||
|
* @mac_ctx: Pointer to Global MAC structure
|
||||||
|
* @session: pe session
|
||||||
|
*
|
||||||
|
* Return: None
|
||||||
|
*/
|
||||||
|
static inline
|
||||||
|
void ibss_bss_delete(struct mac_context *mac_ctx, struct pe_session *session)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* lim_ibss_delete_all_peers: delete all IBSS peers.
|
||||||
|
* @mac_ctx: Pointer to Global MAC structure
|
||||||
|
* @session: pe session
|
||||||
|
*
|
||||||
|
* Return: None
|
||||||
|
*/
|
||||||
|
static inline
|
||||||
|
void lim_ibss_delete_all_peers(struct mac_context *mac_ctx,
|
||||||
|
struct pe_session *session)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* lim_ibss_init() - API to init IBSS
|
||||||
|
* @mac_ctx: Pointer to Global MAC structure
|
||||||
|
*
|
||||||
|
* This function is dummy.
|
||||||
|
*
|
||||||
|
* Return: None
|
||||||
|
*/
|
||||||
|
static inline
|
||||||
|
void lim_ibss_init(struct mac_context *mac)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* lim_ibss_delete() - Delete ibss while tearing down an IBSS
|
||||||
|
* @mac: Pointer to Global MAC structure
|
||||||
|
* @session: Pointer to session entry
|
||||||
|
*
|
||||||
|
* Return: none
|
||||||
|
*/
|
||||||
|
static inline
|
||||||
|
void lim_ibss_delete(struct mac_context *mac, struct pe_session *session)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* lim_ibss_coalesce() - API to process IBSS Beacon/Probe Response
|
||||||
|
* @param mac - Pointer to Global MAC structure
|
||||||
|
* @param pBeacon - Parsed Beacon Frame structure
|
||||||
|
* @param pBD - Pointer to received BD
|
||||||
|
*
|
||||||
|
* This function is dummy.
|
||||||
|
*
|
||||||
|
* @return Status whether to process or ignore received Beacon Frame
|
||||||
|
*/
|
||||||
|
static inline
|
||||||
|
QDF_STATUS lim_ibss_coalesce(struct mac_context *mac,
|
||||||
|
tpSirMacMgmtHdr pHdr,
|
||||||
|
tpSchBeaconStruct pBeacon,
|
||||||
|
uint8_t *pIEs,
|
||||||
|
uint32_t ieLen, uint16_t fTsfLater,
|
||||||
|
struct pe_session *pe_session)
|
||||||
|
{
|
||||||
|
return QDF_STATUS_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* lim_ibss_sta_add() - API to add an STA context in IBSS role
|
||||||
|
* @param mac Pointer to Global MAC structure
|
||||||
|
* @param peerAdddr MAC address of the peer being added
|
||||||
|
*
|
||||||
|
* This function is dummy.
|
||||||
|
*
|
||||||
|
* @return retCode Indicates success or failure return code
|
||||||
|
*/
|
||||||
|
static inline
|
||||||
|
QDF_STATUS lim_ibss_sta_add(struct mac_context *mac, void *pBody,
|
||||||
|
struct pe_session *pe_session)
|
||||||
|
{
|
||||||
|
return QDF_STATUS_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* lim_ibss_add_sta_rsp() - API to process STA add response in IBSS role
|
||||||
|
* @param mac Pointer to Global MAC structure
|
||||||
|
* @param peerAdddr MAC address of the peer being added
|
||||||
|
*
|
||||||
|
* This function is funny.
|
||||||
|
*
|
||||||
|
* @return retCode Indicates success or failure return code
|
||||||
|
*/
|
||||||
|
static inline
|
||||||
|
QDF_STATUS lim_ibss_add_sta_rsp(struct mac_context *mac,
|
||||||
|
void *msg, struct pe_session *pe_session)
|
||||||
|
{
|
||||||
|
return QDF_STATUS_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* lim_process_ibss_del_sta_rsp()- Handle ibss delete
|
||||||
|
* peer resp from firmware
|
||||||
|
* @mac_ptr: Pointer to Global MAC structure
|
||||||
|
* @lim_msg: delete sta response
|
||||||
|
* @pe_session: pe session
|
||||||
|
*
|
||||||
|
* This function is dymmy.
|
||||||
|
*
|
||||||
|
* Return: None
|
||||||
|
*/
|
||||||
|
static inline
|
||||||
|
void lim_process_ibss_del_sta_rsp(struct mac_context *mac_ctx,
|
||||||
|
struct scheduler_msg *lim_msg,
|
||||||
|
struct pe_session *pe_session)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* lim_ibss_peer_find() - API to find IBSS peer
|
||||||
|
* @mac: pointer to mac context
|
||||||
|
* @param macAddr - MAC address of the peer
|
||||||
|
*
|
||||||
|
* This function is dymmy.
|
||||||
|
*
|
||||||
|
* @return Pointer to peer node if found, else NULL
|
||||||
|
*/
|
||||||
|
static inline
|
||||||
|
tLimIbssPeerNode *lim_ibss_peer_find(struct mac_context *mac,
|
||||||
|
tSirMacAddr macAddr)
|
||||||
|
{
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* lim_ibss_del_bss_rsp() - Handle ibss delete
|
||||||
|
* response
|
||||||
|
* @mac: Pointer to Global MAC structure
|
||||||
|
* @vdev_stop_rsp: pointer to del bss response
|
||||||
|
* @pe_session: pointer to pe session
|
||||||
|
*
|
||||||
|
* This function is dymmy.
|
||||||
|
*
|
||||||
|
* Return: None
|
||||||
|
*/
|
||||||
|
static inline
|
||||||
|
void lim_ibss_del_bss_rsp(struct mac_context *mac,
|
||||||
|
struct del_bss_resp *vdev_stop_rsp,
|
||||||
|
struct pe_session *pe_session)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* lim_ibss_del_bss_rsp_when_coalescing() - Handle ibss delete
|
||||||
|
* response when coalescing
|
||||||
|
* @mac: Pointer to Global MAC structure
|
||||||
|
* @vdev_stop_rsp: pointer to del bss response
|
||||||
|
* @pe_session: pointer to pe session
|
||||||
|
*
|
||||||
|
* Return: None
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
static inline
|
||||||
|
void lim_ibss_del_bss_rsp_when_coalescing(struct mac_context *mac,
|
||||||
|
struct del_bss_resp *vdev_stop_rsp,
|
||||||
|
struct pe_session *pe_session)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* lim_ibss_add_bss_rsp_when_coalescing()- Handle ADD BSS rsp of IBSS coalescing
|
||||||
|
* @mac_ptr: Pointer to Global MAC structure
|
||||||
|
* @op_chan_freq: operating chan freq
|
||||||
|
* @pe_session: PE session pointer
|
||||||
|
*
|
||||||
|
* Return: None
|
||||||
|
*/
|
||||||
|
static inline
|
||||||
|
void lim_ibss_add_bss_rsp_when_coalescing(struct mac_context *mac,
|
||||||
|
uint32_t op_chan_freq,
|
||||||
|
struct pe_session *pe_session)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* lim_ibss_decide_protection_on_delete() - decides protection related info.
|
||||||
|
* @mac_ctx: global mac context
|
||||||
|
* @stads: station hash node
|
||||||
|
* @bcn_param: beacon parameters
|
||||||
|
* @session: PE session entry
|
||||||
|
*
|
||||||
|
* This function is dummy.
|
||||||
|
*
|
||||||
|
* Return: None
|
||||||
|
*/
|
||||||
|
static inline
|
||||||
|
void lim_ibss_decide_protection_on_delete(struct mac_context *mac,
|
||||||
|
tpDphHashNode sta,
|
||||||
|
tpUpdateBeaconParams pBeaconParams,
|
||||||
|
struct pe_session *pe_session)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* lim_ibss_heart_beat_handle() - handle IBSS hearbeat failure
|
||||||
|
* @mac_ctx: global mac context
|
||||||
|
* @session: PE session entry
|
||||||
|
*
|
||||||
|
* This function is dummy.
|
||||||
|
*
|
||||||
|
* Return: None.
|
||||||
|
*/
|
||||||
|
static inline
|
||||||
|
void lim_ibss_heart_beat_handle(struct mac_context *mac,
|
||||||
|
struct pe_session *pe_session)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* lim_process_ibss_peer_inactivity() - Handle inactive IBSS peer
|
||||||
|
* @mac: Global MAC context
|
||||||
|
* @buf: pointer to buffer
|
||||||
|
*
|
||||||
|
* This function is dummy.
|
||||||
|
*
|
||||||
|
* Return: None
|
||||||
|
*/
|
||||||
|
static inline
|
||||||
|
void lim_process_ibss_peer_inactivity(struct mac_context *mac, void *buf)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
@@ -2026,6 +2026,15 @@ static void lim_process_ap_mlm_add_bss_rsp(struct mac_context *mac,
|
|||||||
lim_send_start_bss_confirm(mac, &mlmStartCnf);
|
lim_send_start_bss_confirm(mac, &mlmStartCnf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef QCA_IBSS_SUPPORT
|
||||||
|
/*
|
||||||
|
* lim_process_ibss_mlm_add_bss_rsp: API to process add bss response
|
||||||
|
* in IBSS role
|
||||||
|
* @session_entry: pe session entry
|
||||||
|
* @auth_mode: auth mode needs to be updated
|
||||||
|
*
|
||||||
|
* Return: None
|
||||||
|
*/
|
||||||
static void
|
static void
|
||||||
lim_process_ibss_mlm_add_bss_rsp(struct mac_context *mac,
|
lim_process_ibss_mlm_add_bss_rsp(struct mac_context *mac,
|
||||||
struct add_bss_rsp *add_bss_rsp,
|
struct add_bss_rsp *add_bss_rsp,
|
||||||
@@ -2080,6 +2089,14 @@ lim_process_ibss_mlm_add_bss_rsp(struct mac_context *mac,
|
|||||||
mlmStartCnf.sessionId = pe_session->peSessionId;
|
mlmStartCnf.sessionId = pe_session->peSessionId;
|
||||||
lim_send_start_bss_confirm(mac, &mlmStartCnf);
|
lim_send_start_bss_confirm(mac, &mlmStartCnf);
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
static inline void
|
||||||
|
lim_process_ibss_mlm_add_bss_rsp(struct mac_context *mac,
|
||||||
|
struct add_bss_rsp *add_bss_rsp,
|
||||||
|
struct pe_session *pe_session)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef WLAN_FEATURE_FILS_SK
|
#ifdef WLAN_FEATURE_FILS_SK
|
||||||
/*
|
/*
|
||||||
|
@@ -5199,6 +5199,7 @@ lim_update_add_ie_buffer(struct mac_context *mac,
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef QCA_IBSS_SUPPORT
|
||||||
/**
|
/**
|
||||||
* lim_update_ibss_prop_add_ies() - update IBSS prop IE
|
* lim_update_ibss_prop_add_ies() - update IBSS prop IE
|
||||||
* @mac : Pointer to Global MAC structure
|
* @mac : Pointer to Global MAC structure
|
||||||
@@ -5269,7 +5270,14 @@ lim_update_ibss_prop_add_ies(struct mac_context *mac, uint8_t **pDstData_buff,
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
static bool
|
||||||
|
lim_update_ibss_prop_add_ies(struct mac_context *mac, uint8_t **pDstData_buff,
|
||||||
|
uint16_t *pDstDataLen, tSirModifyIE *pModifyIE)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
/*
|
/*
|
||||||
* lim_process_modify_add_ies() - process modify additional IE req.
|
* lim_process_modify_add_ies() - process modify additional IE req.
|
||||||
*
|
*
|
||||||
|
@@ -1397,6 +1397,7 @@ void lim_send_sme_pe_ese_tsm_rsp(struct mac_context *mac,
|
|||||||
|
|
||||||
#endif /* FEATURE_WLAN_ESE */
|
#endif /* FEATURE_WLAN_ESE */
|
||||||
|
|
||||||
|
#ifdef QCA_IBSS_SUPPORT
|
||||||
void
|
void
|
||||||
lim_send_sme_ibss_peer_ind(struct mac_context *mac,
|
lim_send_sme_ibss_peer_ind(struct mac_context *mac,
|
||||||
tSirMacAddr peerMacAddr,
|
tSirMacAddr peerMacAddr,
|
||||||
@@ -1430,6 +1431,7 @@ lim_send_sme_ibss_peer_ind(struct mac_context *mac,
|
|||||||
lim_sys_process_mmh_msg_api(mac, &mmhMsg);
|
lim_sys_process_mmh_msg_api(mac, &mmhMsg);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* lim_process_csa_wbw_ie() - Process CSA Wide BW IE
|
* lim_process_csa_wbw_ie() - Process CSA Wide BW IE
|
||||||
|
@@ -226,10 +226,36 @@ void lim_send_sme_delts_ind(struct mac_context *mac,
|
|||||||
void lim_send_sme_pe_ese_tsm_rsp(struct mac_context *mac, tAniGetTsmStatsRsp *pStats);
|
void lim_send_sme_pe_ese_tsm_rsp(struct mac_context *mac, tAniGetTsmStatsRsp *pStats);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef QCA_IBSS_SUPPORT
|
||||||
|
/*
|
||||||
|
* lim_send_sme_ibss_peer_ind() - API to send ibss peer ind to sme
|
||||||
|
* @mac_ctx: Global mac_ctx
|
||||||
|
* @peerMacAddr: peer mac address
|
||||||
|
* @staIndex: sta index
|
||||||
|
* @beacon: pionter to beacon
|
||||||
|
* @beaconLen: length of beacon buffer
|
||||||
|
* @msg_type: msg_type
|
||||||
|
* @sessionId: session id
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* Return: none
|
||||||
|
*/
|
||||||
void lim_send_sme_ibss_peer_ind(struct mac_context *mac, tSirMacAddr peerMacAddr,
|
void lim_send_sme_ibss_peer_ind(struct mac_context *mac, tSirMacAddr peerMacAddr,
|
||||||
uint16_t staIndex, uint8_t *beacon,
|
uint16_t staIndex, uint8_t *beacon,
|
||||||
uint16_t beaconLen, uint16_t msgType,
|
uint16_t beaconLen, uint16_t msgType,
|
||||||
uint8_t sessionId);
|
uint8_t sessionId);
|
||||||
|
#else
|
||||||
|
static inline void
|
||||||
|
lim_send_sme_ibss_peer_ind(struct mac_context *mac,
|
||||||
|
tSirMacAddr peerMacAddr,
|
||||||
|
uint16_t staIndex,
|
||||||
|
uint8_t *beacon,
|
||||||
|
uint16_t beaconLen, uint16_t msgType,
|
||||||
|
uint8_t sessionId)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
void lim_send_sme_max_assoc_exceeded_ntf(struct mac_context *mac, tSirMacAddr peerMacAddr,
|
void lim_send_sme_max_assoc_exceeded_ntf(struct mac_context *mac, tSirMacAddr peerMacAddr,
|
||||||
uint8_t smesessionId);
|
uint8_t smesessionId);
|
||||||
|
|
||||||
|
@@ -4807,6 +4807,7 @@ void lim_handle_heart_beat_failure_timeout(struct mac_context *mac_ctx)
|
|||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef QCA_IBSS_SUPPORT
|
||||||
/*
|
/*
|
||||||
* This function assumes there will not be more than one IBSS session active at any time.
|
* This function assumes there will not be more than one IBSS session active at any time.
|
||||||
*/
|
*/
|
||||||
@@ -4823,6 +4824,7 @@ struct pe_session *lim_is_ibss_session_active(struct mac_context *mac)
|
|||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
struct pe_session *lim_is_ap_session_active(struct mac_context *mac)
|
struct pe_session *lim_is_ap_session_active(struct mac_context *mac)
|
||||||
{
|
{
|
||||||
|
@@ -558,7 +558,30 @@ void lim_process_ap_mlm_del_sta_rsp(struct mac_context *mac,
|
|||||||
struct scheduler_msg *limMsgQ,
|
struct scheduler_msg *limMsgQ,
|
||||||
struct pe_session *pe_session);
|
struct pe_session *pe_session);
|
||||||
|
|
||||||
|
#ifdef QCA_IBSS_SUPPORT
|
||||||
|
/**
|
||||||
|
* lim_is_ibss_session_active() - API to check IBSS session active
|
||||||
|
* @mac: Pointer to Global MAC structure
|
||||||
|
*
|
||||||
|
* Return: Pointer to active IBSS pe_session else NULL
|
||||||
|
*/
|
||||||
struct pe_session *lim_is_ibss_session_active(struct mac_context *mac);
|
struct pe_session *lim_is_ibss_session_active(struct mac_context *mac);
|
||||||
|
#else
|
||||||
|
/**
|
||||||
|
* lim_is_ibss_session_active() - API to check IBSS session active
|
||||||
|
* @mac: Pointer to Global MAC structure
|
||||||
|
*
|
||||||
|
* This function is dummy.
|
||||||
|
*
|
||||||
|
* Return: NULL
|
||||||
|
*/
|
||||||
|
static inline
|
||||||
|
struct pe_session *lim_is_ibss_session_active(struct mac_context *mac)
|
||||||
|
{
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
struct pe_session *lim_is_ap_session_active(struct mac_context *mac);
|
struct pe_session *lim_is_ap_session_active(struct mac_context *mac);
|
||||||
void lim_handle_heart_beat_failure_timeout(struct mac_context *mac);
|
void lim_handle_heart_beat_failure_timeout(struct mac_context *mac);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user