Browse Source

qcacld-3.0: Modify TDLS antenna switch API

Modify the following API to configure antenna switch for TDLS
to take link info pointer as function argument.
Pass the link info corresponding to VDEV. The existing callers
moved to deflink pointer in adapter.
API: wlan_hdd_tdls_antenna_switch()

Change-Id: Ic81ca38cea0314767bfc988d013f7f21eaebc40e
CRs-Fixed: 3517796
Vinod Kumar Pirla 2 years ago
parent
commit
04f2381b3d

+ 13 - 5
core/hdd/inc/wlan_hdd_tdls.h

@@ -254,8 +254,16 @@ int hdd_set_tdls_offchannelmode(struct hdd_context *hdd_ctx,
 				struct hdd_adapter *adapter,
 				int offchanmode);
 int hdd_set_tdls_scan_type(struct hdd_context *hdd_ctx, int val);
-int wlan_hdd_tdls_antenna_switch(struct hdd_context *hdd_ctx,
-				 struct hdd_adapter *adapter,
+
+/**
+ * wlan_hdd_tdls_antenna_switch() - Dynamic TDLS antenna  switch 1x1 <-> 2x2
+ * antenna mode in standalone station
+ * @link_info: Pointer to link_info in hdd adapter
+ * @mode: enum antenna_mode
+ *
+ * Return: 0 if success else non zero
+ */
+int wlan_hdd_tdls_antenna_switch(struct wlan_hdd_link_info *link_info,
 				 uint32_t mode);
 
 /**
@@ -297,9 +305,9 @@ void hdd_config_tdls_with_band_switch(struct hdd_context *hdd_ctx);
 
 #define FEATURE_TDLS_VENDOR_COMMANDS
 
-static inline int wlan_hdd_tdls_antenna_switch(struct hdd_context *hdd_ctx,
-					       struct hdd_adapter *adapter,
-					       uint32_t mode)
+static inline int
+wlan_hdd_tdls_antenna_switch(struct wlan_hdd_link_info *link_info,
+			     uint32_t mode)
 {
 	return 0;
 }

+ 1 - 1
core/hdd/src/wlan_hdd_cfg.c

@@ -1144,7 +1144,7 @@ hdd_set_nss_params(struct hdd_adapter *adapter,
 	if ((adapter->device_mode == QDF_STA_MODE ||
 	     adapter->device_mode == QDF_P2P_CLIENT_MODE) &&
 	     policy_mgr_is_sta_active_connection_exists(hdd_ctx->psoc))
-		wlan_hdd_tdls_antenna_switch(hdd_ctx, adapter, rx_nss);
+		wlan_hdd_tdls_antenna_switch(adapter->deflink, rx_nss);
 
 	return QDF_STATUS_SUCCESS;
 }

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

@@ -5912,7 +5912,7 @@ int hdd_set_antenna_mode(struct hdd_adapter *adapter,
 	/* Check TDLS status and update antenna mode */
 	if ((QDF_STA_MODE == adapter->device_mode) &&
 	    policy_mgr_is_sta_active_connection_exists(hdd_ctx->psoc)) {
-		ret = wlan_hdd_tdls_antenna_switch(hdd_ctx, adapter, mode);
+		ret = wlan_hdd_tdls_antenna_switch(adapter->deflink, mode);
 		if (0 != ret)
 			goto exit;
 	}

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

@@ -1004,26 +1004,16 @@ int hdd_set_tdls_scan_type(struct hdd_context *hdd_ctx, int val)
 	return 0;
 }
 
-/**
- * wlan_hdd_tdls_antenna_switch() - Dynamic TDLS antenna  switch 1x1 <-> 2x2
- * antenna mode in standalone station
- * @hdd_ctx: Pointer to hdd context
- * @adapter: Pointer to hdd adapter
- * @mode: enum antenna_mode
- *
- * Return: 0 if success else non zero
- */
-int wlan_hdd_tdls_antenna_switch(struct hdd_context *hdd_ctx,
-				 struct hdd_adapter *adapter,
+int wlan_hdd_tdls_antenna_switch(struct wlan_hdd_link_info *link_info,
 				 uint32_t mode)
 {
 	int ret;
 	struct wlan_objmgr_vdev *vdev;
 
-	if (!hdd_ctx->tdls_umac_comp_active)
+	if (!link_info->adapter->hdd_ctx->tdls_umac_comp_active)
 		return 0;
 
-	vdev = hdd_objmgr_get_vdev_by_user(adapter->deflink, WLAN_OSIF_TDLS_ID);
+	vdev = hdd_objmgr_get_vdev_by_user(link_info, WLAN_OSIF_TDLS_ID);
 	if (!vdev)
 		return -EINVAL;