qcacld-3.0: Enable TDLS dynamic antenna switch

Enable TDLS dynamic antenna switch

Change-Id: I03bcdcd18281eb42389a87f8f65dd3d6fde67f44
CRs-Fixed: 2084952
diff --git a/core/hdd/src/wlan_hdd_ioctl.c b/core/hdd/src/wlan_hdd_ioctl.c
index 5ac9f75..9a36610 100644
--- a/core/hdd/src/wlan_hdd_ioctl.c
+++ b/core/hdd/src/wlan_hdd_ioctl.c
@@ -6426,8 +6426,9 @@
 	int mode;
 	uint8_t *value = command;
 
-	if (((1 << QDF_STA_MODE) != hdd_ctx->concurrency_mode) ||
-	    (hdd_ctx->no_of_active_sessions[QDF_STA_MODE] > 1)) {
+	if (((1 << QDF_STA_MODE) !=
+		    policy_mgr_get_concurrency_mode(hdd_ctx->hdd_psoc)) ||
+	    (policy_mgr_is_multiple_active_sta_sessions(hdd_ctx->hdd_psoc))) {
 		hdd_err("Operation invalid in non sta or concurrent mode");
 		ret = -EPERM;
 		goto exit;
diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c
index 0930be1..f380532 100644
--- a/core/hdd/src/wlan_hdd_main.c
+++ b/core/hdd/src/wlan_hdd_main.c
@@ -12640,6 +12640,8 @@
 		 1 << TDLS_FEAUTRE_IMPLICIT_TRIGGER : 0) |
 		(cfg->fTDLSExternalControl ?
 		 1 << TDLS_FEATURE_EXTERNAL_CONTROL : 0));
+	config->tdls_vdev_nss_2g = CFG_TDLS_NSS(cfg->vdev_type_nss_2g);
+	config->tdls_vdev_nss_5g = CFG_TDLS_NSS(cfg->vdev_type_nss_5g);
 
 	tdls_cfg.tdls_send_mgmt_req = eWNI_SME_TDLS_SEND_MGMT_REQ;
 	tdls_cfg.tdls_add_sta_req = eWNI_SME_TDLS_ADD_STA_REQ;
diff --git a/core/hdd/src/wlan_hdd_tdls.c b/core/hdd/src/wlan_hdd_tdls.c
index 0c040f1..eb644cb 100644
--- a/core/hdd/src/wlan_hdd_tdls.c
+++ b/core/hdd/src/wlan_hdd_tdls.c
@@ -826,6 +826,9 @@
 				 struct hdd_adapter *adapter,
 				 uint32_t mode)
 {
+	if (hdd_ctx->tdls_umac_comp_active)
+		return wlan_tdls_antenna_switch(adapter->hdd_vdev, mode);
+
 	return 0;
 }