mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-14 00:24:41 -04:00
qcacld-3.0: Clean up and refactor tdls module
Currently the build fails, if we disable TDLS feature flag in the kbuild. Fix all the tdls conditional compilation issues to make a successfull build with tdls feature flag enabled/disabled. Change-Id: I78114474d9ebe65e76840cb581389535f3486e4f CRs-Fixed: 1066077
This commit is contained in:
parent
f1ba31e987
commit
32eb50281c
16 changed files with 222 additions and 80 deletions
|
|
@ -592,8 +592,22 @@ struct cds_conc_connection_info {
|
|||
|
||||
bool cds_is_connection_in_progress(void);
|
||||
void cds_dump_concurrency_info(void);
|
||||
|
||||
#ifdef FEATURE_WLAN_TDLS
|
||||
bool cds_check_is_tdls_allowed(enum tQDF_ADAPTER_MODE device_mode);
|
||||
void cds_set_tdls_ct_mode(hdd_context_t *hdd_ctx);
|
||||
#else
|
||||
static inline bool cds_check_is_tdls_allowed(enum tQDF_ADAPTER_MODE device_mode)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
static inline void cds_set_tdls_ct_mode(hdd_context_t *hdd_ctx)
|
||||
{
|
||||
|
||||
}
|
||||
#endif
|
||||
|
||||
void cds_set_concurrency_mode(enum tQDF_ADAPTER_MODE mode);
|
||||
void cds_clear_concurrency_mode(enum tQDF_ADAPTER_MODE mode);
|
||||
uint32_t cds_get_connection_count(void);
|
||||
|
|
|
|||
|
|
@ -3340,6 +3340,7 @@ void cds_dump_concurrency_info(void)
|
|||
hdd_ctx->mcc_mode = !cds_current_concurrency_is_scc();
|
||||
}
|
||||
|
||||
#ifdef FEATURE_WLAN_TDLS
|
||||
/*
|
||||
* cds_check_is_tdls_allowed() - check is tdls allowed or not
|
||||
* @adapter: pointer to adapter
|
||||
|
|
@ -3419,6 +3420,7 @@ set_state:
|
|||
cds_info("enable_tdls_connection_tracker %d",
|
||||
hdd_ctx->enable_tdls_connection_tracker);
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* cds_set_concurrency_mode() - To set concurrency mode
|
||||
|
|
|
|||
|
|
@ -272,6 +272,7 @@ int hdd_set_genie_to_csr(hdd_adapter_t *pAdapter, eCsrAuthType *RSNAuthType);
|
|||
*/
|
||||
int hdd_set_csr_auth_type(hdd_adapter_t *pAdapter, eCsrAuthType RSNAuthType);
|
||||
|
||||
#ifdef FEATURE_WLAN_TDLS
|
||||
/**
|
||||
* hdd_roam_register_tdlssta() - register new TDLS station
|
||||
* @pAdapter: pointer to adapter
|
||||
|
|
@ -287,6 +288,7 @@ int hdd_set_csr_auth_type(hdd_adapter_t *pAdapter, eCsrAuthType RSNAuthType);
|
|||
QDF_STATUS hdd_roam_register_tdlssta(hdd_adapter_t *pAdapter,
|
||||
const uint8_t *peerMac, uint16_t staId,
|
||||
uint8_t ucastSig, uint8_t qos);
|
||||
#endif
|
||||
|
||||
/**
|
||||
* hdd_perform_roam_set_key_complete() - perform set key complete
|
||||
|
|
|
|||
|
|
@ -54,9 +54,7 @@
|
|||
#include <linux/wakelock.h>
|
||||
#endif
|
||||
#include <wlan_hdd_ftm.h>
|
||||
#ifdef FEATURE_WLAN_TDLS
|
||||
#include "wlan_hdd_tdls.h"
|
||||
#endif
|
||||
#include "wlan_hdd_tsf.h"
|
||||
#include "wlan_hdd_cfg80211.h"
|
||||
#include <qdf_defer.h>
|
||||
|
|
|
|||
|
|
@ -710,8 +710,33 @@ void hdd_tdls_context_destroy(hdd_context_t *hdd_ctx);
|
|||
int wlan_hdd_tdls_antenna_switch(hdd_context_t *hdd_ctx,
|
||||
hdd_adapter_t *adapter,
|
||||
uint32_t mode);
|
||||
hdd_adapter_t *wlan_hdd_tdls_check_and_enable(hdd_context_t *hdd_ctx);
|
||||
/**
|
||||
* wlan_hdd_tdls_notify_connect() - Update tdls state for every
|
||||
* connect event.
|
||||
* @adapter: hdd adapter
|
||||
* @csr_roam_info: csr information
|
||||
*
|
||||
* After every connect event in the system, check whether TDLS
|
||||
* can be enabled in the system. If TDLS can be enabled, update the
|
||||
* TDLS state as needed.
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
void wlan_hdd_tdls_notify_connect(hdd_adapter_t *adapter,
|
||||
tCsrRoamInfo *csr_roam_info);
|
||||
|
||||
/**
|
||||
* wlan_hdd_tdls_notify_disconnect() - Update tdls state for every
|
||||
* disconnect event.
|
||||
* @adapter: hdd adapter
|
||||
*
|
||||
* After every disconnect event in the system, check whether TDLS
|
||||
* can be disabled/enabled in the system and update the
|
||||
* TDLS state as needed.
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
void wlan_hdd_tdls_notify_disconnect(hdd_adapter_t *adapter);
|
||||
|
||||
#else
|
||||
static inline void hdd_tdls_notify_mode_change(hdd_adapter_t *adapter,
|
||||
|
|
@ -742,19 +767,18 @@ static inline int wlan_hdd_tdls_antenna_switch(hdd_context_t *hdd_ctx,
|
|||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline hdd_adapter_t *wlan_hdd_tdls_check_and_enable(
|
||||
hdd_context_t *hdd_ctx)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static inline void wlan_hdd_update_tdls_info(hdd_adapter_t *adapter,
|
||||
bool tdls_prohibited,
|
||||
bool tdls_chan_swit_prohibited)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void wlan_hdd_tdls_notify_connect(hdd_adapter_t *adapter,
|
||||
tCsrRoamInfo *csr_roam_info)
|
||||
{
|
||||
}
|
||||
static inline void wlan_hdd_tdls_notify_disconnect(hdd_adapter_t *adapter)
|
||||
{
|
||||
}
|
||||
#endif /* End of FEATURE_WLAN_TDLS */
|
||||
|
||||
#ifdef FEATURE_WLAN_DIAG_SUPPORT
|
||||
|
|
|
|||
|
|
@ -47,9 +47,7 @@
|
|||
#include "wlan_hdd_cfg80211.h"
|
||||
#include "csr_inside_api.h"
|
||||
#include "wlan_hdd_p2p.h"
|
||||
#ifdef FEATURE_WLAN_TDLS
|
||||
#include "wlan_hdd_tdls.h"
|
||||
#endif
|
||||
#include "sme_api.h"
|
||||
#include "wlan_hdd_hostapd.h"
|
||||
#include <wlan_hdd_ipa.h>
|
||||
|
|
@ -1191,7 +1189,6 @@ static void hdd_send_association_event(struct net_device *dev,
|
|||
int we_event;
|
||||
char *msg;
|
||||
struct qdf_mac_addr peerMacAddr;
|
||||
hdd_adapter_t *tdls_adapter;
|
||||
|
||||
/* Added to find the auth type on the fly at run time */
|
||||
/* rather than with cfg to see if FT is enabled */
|
||||
|
|
@ -1282,14 +1279,8 @@ static void hdd_send_association_event(struct net_device *dev,
|
|||
pAdapter->sessionId,
|
||||
&chan_info,
|
||||
pAdapter->device_mode);
|
||||
|
||||
hdd_info("Assoc: Check and enable or disable TDLS state ");
|
||||
if ((pAdapter->device_mode == QDF_STA_MODE ||
|
||||
pAdapter->device_mode == QDF_P2P_CLIENT_MODE) &&
|
||||
!pHddCtx->concurrency_marked)
|
||||
wlan_hdd_update_tdls_info(pAdapter,
|
||||
pCsrRoamInfo->tdls_prohibited,
|
||||
pCsrRoamInfo->tdls_chan_swit_prohibited);
|
||||
/* Update tdls module about connection event */
|
||||
wlan_hdd_tdls_notify_connect(pAdapter, pCsrRoamInfo);
|
||||
|
||||
#ifdef MSM_PLATFORM
|
||||
#if defined(CONFIG_ICNSS) || defined(CONFIG_CNSS)
|
||||
|
|
@ -1335,24 +1326,9 @@ static void hdd_send_association_event(struct net_device *dev,
|
|||
pAdapter->device_mode);
|
||||
}
|
||||
hdd_lpass_notify_disconnect(pAdapter);
|
||||
#ifdef FEATURE_WLAN_TDLS
|
||||
hdd_info("Disassoc: Check and enable or disable TDLS state ");
|
||||
if ((pAdapter->device_mode == QDF_STA_MODE ||
|
||||
pAdapter->device_mode == QDF_P2P_CLIENT_MODE) &&
|
||||
!pHddCtx->concurrency_marked) {
|
||||
wlan_hdd_update_tdls_info(pAdapter,
|
||||
true,
|
||||
true);
|
||||
}
|
||||
if (!pHddCtx->concurrency_marked) {
|
||||
tdls_adapter = wlan_hdd_tdls_check_and_enable(
|
||||
pHddCtx);
|
||||
if (NULL != tdls_adapter)
|
||||
wlan_hdd_update_tdls_info(tdls_adapter,
|
||||
false,
|
||||
false);
|
||||
}
|
||||
#endif
|
||||
/* Update tdls module about the disconnection event */
|
||||
wlan_hdd_tdls_notify_disconnect(pAdapter);
|
||||
|
||||
#ifdef MSM_PLATFORM
|
||||
/* stop timer in sta/p2p_cli */
|
||||
spin_lock_bh(&pHddCtx->bus_bw_lock);
|
||||
|
|
@ -4037,6 +4013,23 @@ hdd_roam_tdls_status_update_handler(hdd_adapter_t *pAdapter,
|
|||
|
||||
return status;
|
||||
}
|
||||
#else
|
||||
|
||||
static inline QDF_STATUS hdd_roam_deregister_tdlssta(hdd_adapter_t *pAdapter,
|
||||
uint8_t staId)
|
||||
{
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
static inline QDF_STATUS
|
||||
hdd_roam_tdls_status_update_handler(hdd_adapter_t *pAdapter,
|
||||
tCsrRoamInfo *pRoamInfo,
|
||||
uint32_t roamId,
|
||||
eRoamCmdStatus roamStatus,
|
||||
eCsrRoamResult roamResult)
|
||||
{
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef WLAN_FEATURE_11W
|
||||
|
|
|
|||
|
|
@ -6639,8 +6639,7 @@ static int drv_cmd_set_antenna_mode(hdd_adapter_t *adapter,
|
|||
|
||||
/* Check TDLS status and update antenna mode */
|
||||
if ((QDF_STA_MODE == adapter->device_mode) &&
|
||||
cds_is_sta_active_connection_exists() &&
|
||||
(hdd_ctx->connected_peer_count > 0)) {
|
||||
cds_is_sta_active_connection_exists()) {
|
||||
ret = wlan_hdd_tdls_antenna_switch(hdd_ctx, adapter,
|
||||
mode);
|
||||
if (0 != ret)
|
||||
|
|
|
|||
|
|
@ -1768,16 +1768,15 @@ int wlan_hdd_tdls_set_params(struct net_device *dev,
|
|||
}
|
||||
|
||||
/**
|
||||
* wlan_hdd_tdls_check_and_enable() - check system state and enable tdls
|
||||
* wlan_hdd_tdls_get_adapter() - check system state and return hdd adapter
|
||||
* @hdd_ctx: hdd context
|
||||
*
|
||||
* After every disassociation in the system, check whether TDLS
|
||||
* can be enabled in the system. If TDLS possible return the
|
||||
* corresponding hdd adapter to enable TDLS.
|
||||
* If TDLS possible, return the corresponding hdd adapter
|
||||
* to enable TDLS in the system.
|
||||
*
|
||||
* Return: hdd adapter pointer or NULL.
|
||||
*/
|
||||
hdd_adapter_t *wlan_hdd_tdls_check_and_enable(hdd_context_t *hdd_ctx)
|
||||
static hdd_adapter_t *wlan_hdd_tdls_get_adapter(hdd_context_t *hdd_ctx)
|
||||
{
|
||||
if (cds_get_connection_count() > 1)
|
||||
return NULL;
|
||||
|
|
@ -1951,6 +1950,74 @@ void wlan_hdd_update_tdls_info(hdd_adapter_t *adapter, bool tdls_prohibited,
|
|||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* wlan_hdd_tdls_notify_connect() - Update tdls state for every
|
||||
* connect event.
|
||||
* @adapter: hdd adapter
|
||||
* @csr_roam_info: csr information
|
||||
*
|
||||
* After every connect event in the system, check whether TDLS
|
||||
* can be enabled in the system. If TDLS can be enabled, update the
|
||||
* TDLS state as needed.
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
void wlan_hdd_tdls_notify_connect(hdd_adapter_t *adapter,
|
||||
tCsrRoamInfo *csr_roam_info)
|
||||
{
|
||||
hdd_context_t *hdd_ctx = WLAN_HDD_GET_CTX(adapter);
|
||||
|
||||
hdd_info("Check and update TDLS state");
|
||||
|
||||
/* Association event */
|
||||
if ((adapter->device_mode == QDF_STA_MODE ||
|
||||
adapter->device_mode == QDF_P2P_CLIENT_MODE) &&
|
||||
!hdd_ctx->concurrency_marked) {
|
||||
wlan_hdd_update_tdls_info(adapter,
|
||||
csr_roam_info->tdls_prohibited,
|
||||
csr_roam_info->tdls_chan_swit_prohibited);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* wlan_hdd_tdls_notify_disconnect() - Update tdls state for every
|
||||
* disconnect event.
|
||||
* @adapter: hdd adapter
|
||||
*
|
||||
* After every disconnect event in the system, check whether TDLS
|
||||
* can be disabled/enabled in the system and update the
|
||||
* TDLS state as needed.
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
void wlan_hdd_tdls_notify_disconnect(hdd_adapter_t *adapter)
|
||||
{
|
||||
hdd_adapter_t *temp_adapter;
|
||||
hdd_context_t *hdd_ctx = WLAN_HDD_GET_CTX(adapter);
|
||||
|
||||
hdd_info("Check and update TDLS state");
|
||||
|
||||
/* Disassociation event */
|
||||
if ((adapter->device_mode == QDF_STA_MODE ||
|
||||
adapter->device_mode == QDF_P2P_CLIENT_MODE) &&
|
||||
!hdd_ctx->concurrency_marked) {
|
||||
wlan_hdd_update_tdls_info(adapter, true, true);
|
||||
}
|
||||
|
||||
/* If concurrency is not marked, then we have to
|
||||
* check, whether TDLS could be enabled in the
|
||||
* system after this disassoc event.
|
||||
*/
|
||||
if (!hdd_ctx->concurrency_marked) {
|
||||
temp_adapter = wlan_hdd_tdls_get_adapter(
|
||||
hdd_ctx);
|
||||
if (NULL != temp_adapter)
|
||||
wlan_hdd_update_tdls_info(temp_adapter,
|
||||
false,
|
||||
false);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* wlan_hdd_tdls_set_sta_id() - set station ID on a tdls peer
|
||||
* @pAdapter: HDD adapter
|
||||
|
|
@ -2483,7 +2550,7 @@ void wlan_hdd_tdls_decrement_peer_count(hdd_adapter_t *pAdapter)
|
|||
hdd_err("TDLS set state is not cleared correctly !!!");
|
||||
pHddCtx->concurrency_marked = false;
|
||||
}
|
||||
tdls_adapter = wlan_hdd_tdls_check_and_enable(pHddCtx);
|
||||
tdls_adapter = wlan_hdd_tdls_get_adapter(pHddCtx);
|
||||
if (tdls_adapter)
|
||||
wlan_hdd_update_tdls_info(tdls_adapter, false, false);
|
||||
}
|
||||
|
|
@ -5134,6 +5201,11 @@ void wlan_hdd_tdls_update_rx_pkt_cnt(hdd_adapter_t *adapter,
|
|||
uint8_t valid_mac_entries;
|
||||
struct qdf_mac_addr *mac_addr;
|
||||
|
||||
hdd_ctx = WLAN_HDD_GET_CTX(adapter);
|
||||
|
||||
if (!hdd_ctx->enable_tdls_connection_tracker)
|
||||
return;
|
||||
|
||||
mac_addr = (struct qdf_mac_addr *)(skb->data+QDF_MAC_ADDR_SIZE);
|
||||
if (qdf_is_macaddr_group(mac_addr))
|
||||
return;
|
||||
|
|
@ -5143,7 +5215,6 @@ void wlan_hdd_tdls_update_rx_pkt_cnt(hdd_adapter_t *adapter,
|
|||
mac_addr, QDF_MAC_ADDR_SIZE) == 0)
|
||||
return;
|
||||
|
||||
hdd_ctx = WLAN_HDD_GET_CTX(adapter);
|
||||
tdls_ctx = adapter->sessionCtx.station.pHddTdlsCtx;
|
||||
|
||||
qdf_spin_lock_bh(&hdd_ctx->tdls_ct_spinlock);
|
||||
|
|
@ -5197,6 +5268,11 @@ void wlan_hdd_tdls_update_tx_pkt_cnt(hdd_adapter_t *adapter,
|
|||
uint8_t valid_mac_entries;
|
||||
struct qdf_mac_addr *mac_addr;
|
||||
|
||||
hdd_ctx = WLAN_HDD_GET_CTX(adapter);
|
||||
|
||||
if (!hdd_ctx->enable_tdls_connection_tracker)
|
||||
return;
|
||||
|
||||
mac_addr = (struct qdf_mac_addr *)skb->data;
|
||||
if (qdf_is_macaddr_group(mac_addr))
|
||||
return;
|
||||
|
|
@ -5206,7 +5282,6 @@ void wlan_hdd_tdls_update_tx_pkt_cnt(hdd_adapter_t *adapter,
|
|||
QDF_MAC_ADDR_SIZE) == 0)
|
||||
return;
|
||||
|
||||
hdd_ctx = WLAN_HDD_GET_CTX(adapter);
|
||||
tdls_ctx = adapter->sessionCtx.station.pHddTdlsCtx;
|
||||
|
||||
qdf_spin_lock_bh(&hdd_ctx->tdls_ct_spinlock);
|
||||
|
|
@ -5816,9 +5891,12 @@ int wlan_hdd_tdls_antenna_switch(hdd_context_t *hdd_ctx,
|
|||
{
|
||||
uint8_t tdls_peer_cnt;
|
||||
uint32_t vdev_nss;
|
||||
hdd_station_ctx_t *sta_ctx =
|
||||
WLAN_HDD_GET_STATION_CTX_PTR(adapter);
|
||||
hdd_station_ctx_t *sta_ctx;
|
||||
|
||||
if (hdd_ctx->connected_peer_count == 0)
|
||||
return 0;
|
||||
|
||||
sta_ctx = WLAN_HDD_GET_STATION_CTX_PTR(adapter);
|
||||
/* Check whether TDLS antenna switch is in progress */
|
||||
if (hdd_ctx->tdls_nss_switch_in_progress) {
|
||||
if (hdd_ctx->tdls_nss_teardown_complete == false) {
|
||||
|
|
|
|||
|
|
@ -47,18 +47,12 @@
|
|||
#include <net/ieee80211_radiotap.h>
|
||||
#include "sap_api.h"
|
||||
#include "wlan_hdd_wmm.h"
|
||||
|
||||
#ifdef FEATURE_WLAN_TDLS
|
||||
#include "wlan_hdd_tdls.h"
|
||||
#endif
|
||||
#include <wlan_hdd_ipa.h>
|
||||
|
||||
#include "wlan_hdd_ocb.h"
|
||||
#include "wlan_hdd_lro.h"
|
||||
|
||||
#include "cdp_txrx_peer_ops.h"
|
||||
#include "ol_txrx.h"
|
||||
|
||||
#include "wlan_hdd_nan_datapath.h"
|
||||
#include "pld_common.h"
|
||||
|
||||
|
|
@ -419,8 +413,8 @@ int __hdd_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
|||
hdd_station_ctx_t *pHddStaCtx = &pAdapter->sessionCtx.station;
|
||||
#ifdef QCA_PKT_PROTO_TRACE
|
||||
uint8_t proto_type = 0;
|
||||
#endif /* QCA_PKT_PROTO_TRACE */
|
||||
hdd_context_t *hdd_ctx = WLAN_HDD_GET_CTX(pAdapter);
|
||||
#endif /* QCA_PKT_PROTO_TRACE */
|
||||
|
||||
#ifdef QCA_WIFI_FTM
|
||||
if (hdd_get_conparam() == QDF_GLOBAL_FTM_MODE) {
|
||||
|
|
@ -551,8 +545,7 @@ int __hdd_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
|||
|
||||
pAdapter->stats.tx_bytes += skb->len;
|
||||
|
||||
if (hdd_ctx->enable_tdls_connection_tracker)
|
||||
wlan_hdd_tdls_update_tx_pkt_cnt(pAdapter, skb);
|
||||
wlan_hdd_tdls_update_tx_pkt_cnt(pAdapter, skb);
|
||||
|
||||
++pAdapter->stats.tx_packets;
|
||||
|
||||
|
|
@ -965,8 +958,7 @@ QDF_STATUS hdd_rx_packet_cbk(void *context, qdf_nbuf_t rxBuf)
|
|||
qdf_nbuf_data_addr(rxBuf),
|
||||
sizeof(qdf_nbuf_data(rxBuf)), QDF_RX));
|
||||
|
||||
if (pHddCtx->enable_tdls_connection_tracker)
|
||||
wlan_hdd_tdls_update_rx_pkt_cnt(pAdapter, skb);
|
||||
wlan_hdd_tdls_update_rx_pkt_cnt(pAdapter, skb);
|
||||
|
||||
skb->dev = pAdapter->dev;
|
||||
skb->protocol = eth_type_trans(skb, skb->dev);
|
||||
|
|
|
|||
|
|
@ -164,6 +164,23 @@ extern void lim_trigger_sta_deletion(tpAniSirGlobal pMac, tpDphHashNode pStaDs,
|
|||
extern void lim_send_sme_tdls_del_sta_ind(tpAniSirGlobal pMac, tpDphHashNode pStaDs,
|
||||
tpPESession psessionEntry,
|
||||
uint16_t reasonCode);
|
||||
/**
|
||||
* lim_set_tdls_flags() - update tdls flags based on newer STA connection
|
||||
* information
|
||||
* @roam_sync_ind_ptr: pointer to roam offload structure
|
||||
* @ft_session_ptr: pointer to PE session
|
||||
*
|
||||
* Set TDLS flags as per new STA connection capabilities.
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
void lim_set_tdls_flags(roam_offload_synch_ind *roam_sync_ind_ptr,
|
||||
tpPESession ft_session_ptr);
|
||||
#else
|
||||
static inline void lim_set_tdls_flags(roam_offload_synch_ind *roam_sync_ind_ptr,
|
||||
tpPESession ft_session_ptr)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
/* / Function that checks for change in AP's capabilties on STA */
|
||||
|
|
|
|||
|
|
@ -344,6 +344,10 @@ typedef struct sPESession /* Added to Support BT-AMP */
|
|||
uint8_t freePeerIdxTail;
|
||||
uint16_t gLimNumOfCurrentSTAs;
|
||||
#ifdef FEATURE_WLAN_TDLS
|
||||
/* TDLS parameters to check whether TDLS
|
||||
* and TDLS channel switch is allowed in the
|
||||
* AP network
|
||||
*/
|
||||
uint32_t peerAIDBitmap[2];
|
||||
bool tdls_prohibited;
|
||||
bool tdls_chan_swit_prohibited;
|
||||
|
|
|
|||
|
|
@ -2070,10 +2070,7 @@ QDF_STATUS pe_roam_synch_callback(tpAniSirGlobal mac_ctx,
|
|||
roam_sync_ind_ptr->join_rsp->nss = curr_sta_ds->nss;
|
||||
roam_sync_ind_ptr->join_rsp->max_rate_flags =
|
||||
lim_get_max_rate_flags(mac_ctx, curr_sta_ds);
|
||||
roam_sync_ind_ptr->join_rsp->tdls_prohibited =
|
||||
ft_session_ptr->tdls_prohibited;
|
||||
roam_sync_ind_ptr->join_rsp->tdls_chan_swit_prohibited =
|
||||
ft_session_ptr->tdls_chan_swit_prohibited;
|
||||
lim_set_tdls_flags(roam_sync_ind_ptr, ft_session_ptr);
|
||||
roam_sync_ind_ptr->join_rsp->aid = ft_session_ptr->limAID;
|
||||
lim_fill_join_rsp_ht_caps(ft_session_ptr, roam_sync_ind_ptr->join_rsp);
|
||||
ft_session_ptr->limPrevSmeState = ft_session_ptr->limSmeState;
|
||||
|
|
|
|||
|
|
@ -963,6 +963,15 @@ wma_tx_frame_with_tx_complete_send(tpAniSirGlobal pMac, void *pPacket,
|
|||
}
|
||||
#endif
|
||||
|
||||
void lim_set_tdls_flags(roam_offload_synch_ind *roam_sync_ind_ptr,
|
||||
tpPESession ft_session_ptr)
|
||||
{
|
||||
roam_sync_ind_ptr->join_rsp->tdls_prohibited =
|
||||
ft_session_ptr->tdls_prohibited;
|
||||
roam_sync_ind_ptr->join_rsp->tdls_chan_swit_prohibited =
|
||||
ft_session_ptr->tdls_chan_swit_prohibited;
|
||||
}
|
||||
|
||||
/*
|
||||
* TDLS setup Request frame on AP link
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -538,6 +538,11 @@ static inline tSirRetStatus lim_delete_tdls_peers(tpAniSirGlobal mac_ctx,
|
|||
tpPESession session_entry)
|
||||
{
|
||||
return eSIR_SUCCESS;
|
||||
}
|
||||
static inline void lim_init_tdls_data(tpAniSirGlobal pMac,
|
||||
tpPESession pSessionEntry)
|
||||
{
|
||||
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -476,10 +476,12 @@ typedef enum {
|
|||
eCSR_ROAM_PREAUTH_STATUS_SUCCESS,
|
||||
eCSR_ROAM_PREAUTH_STATUS_FAILURE,
|
||||
eCSR_ROAM_HANDOVER_SUCCESS,
|
||||
#ifdef FEATURE_WLAN_TDLS
|
||||
/*
|
||||
* TDLS callback events
|
||||
*/
|
||||
eCSR_ROAM_TDLS_STATUS_UPDATE,
|
||||
eCSR_ROAM_RESULT_MGMT_TX_COMPLETE_IND,
|
||||
#endif
|
||||
|
||||
/* Disaconnect all the clients */
|
||||
eCSR_ROAM_DISCONNECT_ALL_P2P_CLIENTS,
|
||||
/* Stopbss triggered from SME due to different */
|
||||
|
|
@ -587,7 +589,7 @@ typedef enum {
|
|||
eCSR_ROAM_RESULT_MAX_ASSOC_EXCEEDED,
|
||||
/* Assoc rejected due to concurrent session running on a diff channel */
|
||||
eCSR_ROAM_RESULT_ASSOC_FAIL_CON_CHANNEL,
|
||||
#ifdef FEATURE_WLAN_TDLS
|
||||
/* TDLS events */
|
||||
eCSR_ROAM_RESULT_ADD_TDLS_PEER,
|
||||
eCSR_ROAM_RESULT_UPDATE_TDLS_PEER,
|
||||
eCSR_ROAM_RESULT_DELETE_TDLS_PEER,
|
||||
|
|
@ -598,7 +600,6 @@ typedef enum {
|
|||
eCSR_ROAM_RESULT_TDLS_SHOULD_TEARDOWN,
|
||||
eCSR_ROAM_RESULT_TDLS_SHOULD_PEER_DISCONNECTED,
|
||||
eCSR_ROAM_RESULT_TDLS_CONNECTION_TRACKER_NOTIFICATION,
|
||||
#endif
|
||||
|
||||
eCSR_ROAM_RESULT_IBSS_PEER_INFO_SUCCESS,
|
||||
eCSR_ROAM_RESULT_IBSS_PEER_INFO_FAILED,
|
||||
|
|
@ -1386,6 +1387,11 @@ typedef struct tagCsrRoamInfo {
|
|||
uint32_t roc_scan_id;
|
||||
uint32_t rxChan;
|
||||
#ifdef FEATURE_WLAN_TDLS
|
||||
/*
|
||||
* TDLS parameters to check whether TDLS
|
||||
* and TDLS channel switch is allowed in the
|
||||
* AP network
|
||||
*/
|
||||
uint8_t staType;
|
||||
bool tdls_prohibited; /* per ExtCap in Assoc/Reassoc resp */
|
||||
bool tdls_chan_swit_prohibited; /* per ExtCap in Assoc/Reassoc resp */
|
||||
|
|
@ -1740,10 +1746,11 @@ QDF_STATUS csr_roam_issue_ft_roam_offload_synch(tHalHandle hHal,
|
|||
#endif
|
||||
typedef void (*tCsrLinkStatusCallback)(uint8_t status, void *pContext);
|
||||
#ifdef FEATURE_WLAN_TDLS
|
||||
void csr_roam_fill_tdls_info(tCsrRoamInfo *roam_info, tpSirSmeJoinRsp join_rsp);
|
||||
void csr_roam_fill_tdls_info(tpAniSirGlobal mac_ctx, tCsrRoamInfo *roam_info,
|
||||
tpSirSmeJoinRsp join_rsp);
|
||||
#else
|
||||
static inline void csr_roam_fill_tdls_info(tCsrRoamInfo *roam_info,
|
||||
tpSirSmeJoinRsp join_rsp)
|
||||
static inline void csr_roam_fill_tdls_info(tpAniSirGlobal mac_ctx, tCsrRoamInfo *roam_info,
|
||||
tpSirSmeJoinRsp join_rsp)
|
||||
{}
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -19468,11 +19468,16 @@ fail:
|
|||
*
|
||||
* Return: None
|
||||
*/
|
||||
void csr_roam_fill_tdls_info(tCsrRoamInfo *roam_info, tpSirSmeJoinRsp join_rsp)
|
||||
void csr_roam_fill_tdls_info(tpAniSirGlobal mac_ctx, tCsrRoamInfo *roam_info,
|
||||
tpSirSmeJoinRsp join_rsp)
|
||||
{
|
||||
roam_info->tdls_prohibited = join_rsp->tdls_prohibited;
|
||||
roam_info->tdls_chan_swit_prohibited =
|
||||
join_rsp->tdls_chan_swit_prohibited;
|
||||
sms_log(mac_ctx, LOG1,
|
||||
FL("tdls:prohibit: %d, chan_swit_prohibit: %d"),
|
||||
roam_info->tdls_prohibited,
|
||||
roam_info->tdls_chan_swit_prohibited);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
@ -19717,11 +19722,7 @@ void csr_roam_synch_callback(tpAniSirGlobal mac_ctx,
|
|||
roam_info->chan_info.nss = roam_synch_data->join_rsp->nss;
|
||||
roam_info->chan_info.rate_flags =
|
||||
roam_synch_data->join_rsp->max_rate_flags;
|
||||
csr_roam_fill_tdls_info(roam_info, roam_synch_data->join_rsp);
|
||||
sms_log(mac_ctx, LOG1,
|
||||
FL("tdls:prohibit: %d, chan_swit_prohibit: %d"),
|
||||
roam_info->tdls_prohibited,
|
||||
roam_info->tdls_chan_swit_prohibited);
|
||||
csr_roam_fill_tdls_info(mac_ctx, roam_info, roam_synch_data->join_rsp);
|
||||
#ifdef FEATURE_WLAN_MCC_TO_SCC_SWITCH
|
||||
src_profile = &roam_synch_data->join_rsp->HTProfile;
|
||||
dst_profile = &conn_profile->HTProfile;
|
||||
|
|
|
|||
Loading…
Reference in a new issue