Jelajahi Sumber

qcacld-3.0: Enable TDLS dynamic antenna switch

Enable TDLS dynamic antenna switch

Change-Id: I03bcdcd18281eb42389a87f8f65dd3d6fde67f44
CRs-Fixed: 2084952
Frank Liu 7 tahun lalu
induk
melakukan
c0c25fd5c8

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

@@ -6426,8 +6426,9 @@ static int drv_cmd_set_antenna_mode(struct hdd_adapter *adapter,
 	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;

+ 2 - 0
core/hdd/src/wlan_hdd_main.c

@@ -12640,6 +12640,8 @@ static int hdd_update_tdls_config(struct hdd_context *hdd_ctx)
 		 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;

+ 3 - 0
core/hdd/src/wlan_hdd_tdls.c

@@ -826,6 +826,9 @@ int wlan_hdd_tdls_antenna_switch(struct hdd_context *hdd_ctx,
 				 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;
 }