Quellcode durchsuchen

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
Kabilan Kannan vor 8 Jahren
Ursprung
Commit
32eb50281c

+ 14 - 0
core/cds/inc/cds_concurrency.h

@@ -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);

+ 2 - 0
core/cds/src/cds_concurrency.c

@@ -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

+ 2 - 0
core/hdd/inc/wlan_hdd_assoc.h

@@ -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

+ 0 - 2
core/hdd/inc/wlan_hdd_main.h

@@ -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>

+ 33 - 9
core/hdd/inc/wlan_hdd_tdls.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

+ 22 - 29
core/hdd/src/wlan_hdd_assoc.c

@@ -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

+ 1 - 2
core/hdd/src/wlan_hdd_ioctl.c

@@ -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)

+ 88 - 10
core/hdd/src/wlan_hdd_tdls.c

@@ -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) {

+ 3 - 11
core/hdd/src/wlan_hdd_tx_rx.c

@@ -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);

+ 17 - 0
core/mac/src/pe/include/lim_api.h

@@ -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 */

+ 4 - 0
core/mac/src/pe/include/lim_session.h

@@ -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;

+ 1 - 4
core/mac/src/pe/lim/lim_api.c

@@ -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;

+ 9 - 0
core/mac/src/pe/lim/lim_process_tdls.c

@@ -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
  */

+ 5 - 0
core/mac/src/pe/lim/lim_types.h

@@ -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
 

+ 14 - 7
core/sme/inc/csr_api.h

@@ -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
 

+ 7 - 6
core/sme/src/csr/csr_api_roam.c

@@ -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;