Эх сурвалжийг харах

qcacld-3.0: Refactor setint_getnone_fn callback functions

Modify the function prototype to accept link info pointer as
function argument to get/set the per link info. The existing
callers moved to deflink pointer.

Change-Id: I8088e1c4b232523b4421be2a005af1a45d28837c
CRs-Fixed: 3521477
Vinod Kumar Pirla 2 жил өмнө
parent
commit
dbe7e5b2a8

+ 6 - 6
core/hdd/inc/wlan_hdd_cfg.h

@@ -408,12 +408,12 @@ int hdd_get_ldpc(struct hdd_adapter *adapter, int *value);
 
 /**
  * hdd_set_ldpc() - Set adapter LDPC
- * @adapter: adapter being modified
+ * @link_info: Link info pointer in adapter
  * @value: new LDPC value
  *
  * Return: 0 on success, negative errno on failure
  */
-int hdd_set_ldpc(struct hdd_adapter *adapter, int value);
+int hdd_set_ldpc(struct wlan_hdd_link_info *link_info, int value);
 
 /**
  * hdd_get_tx_stbc() - Get adapter TX STBC
@@ -426,12 +426,12 @@ int hdd_get_tx_stbc(struct hdd_adapter *adapter, int *value);
 
 /**
  * hdd_set_tx_stbc() - Set adapter TX STBC
- * @adapter: adapter being modified
+ * @link_info: Link info pointer in HDD adapter
  * @value: new TX STBC value
  *
  * Return: 0 on success, negative errno on failure
  */
-int hdd_set_tx_stbc(struct hdd_adapter *adapter, int value);
+int hdd_set_tx_stbc(struct wlan_hdd_link_info *link_info, int value);
 
 /**
  * hdd_get_rx_stbc() - Get adapter RX STBC
@@ -444,12 +444,12 @@ int hdd_get_rx_stbc(struct hdd_adapter *adapter, int *value);
 
 /**
  * hdd_set_rx_stbc() - Set adapter RX STBC
- * @adapter: adapter being modified
+ * @link_info: Link info pointer in HDD adapter
  * @value: new RX STBC value
  *
  * Return: 0 on success, negative errno on failure
  */
-int hdd_set_rx_stbc(struct hdd_adapter *adapter, int value);
+int hdd_set_rx_stbc(struct wlan_hdd_link_info *link_info, int value);
 
 /**
  * hdd_update_channel_width() - Update adapter channel width settings

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

@@ -4938,12 +4938,12 @@ uint8_t *hdd_ch_width_str(enum phy_ch_width ch_width);
 
 /**
  * hdd_we_set_ch_width - Function to update channel width
- * @adapter: hdd_adapter pointer
+ * @link_info: Link info pointer in HDD adapter.
  * @ch_width: enum eSirMacHTChannelWidth
  *
  * Return: 0 for success otherwise failure
  */
-int hdd_we_set_ch_width(struct hdd_adapter *adapter, int ch_width);
+int hdd_we_set_ch_width(struct wlan_hdd_link_info *link_info, int ch_width);
 
 /**
  * hdd_stop_adapter_ext: close/delete the vdev session in host/fw.

+ 10 - 8
core/hdd/inc/wlan_hdd_wext.h

@@ -239,12 +239,12 @@ void *mem_alloc_copy_from_user_helper(const void *wrqu_data, size_t len);
 
 /**
  * hdd_we_set_short_gi() - Set adapter Short GI
- * @adapter: adapter being modified
+ * @link_info: Link info pointer in HDD adapter
  * @sgi: new sgi value
  *
  * Return: 0 on success, negative errno on failure
  */
-int hdd_we_set_short_gi(struct hdd_adapter *adapter, int sgi);
+int hdd_we_set_short_gi(struct wlan_hdd_link_info *link_info, int sgi);
 
 /**
  * hdd_assemble_rate_code() - assemble rate code to be sent to FW
@@ -273,7 +273,7 @@ int hdd_set_11ax_rate(struct hdd_adapter *adapter, int value,
 
 /**
  * hdd_we_update_phymode() - handle change in PHY mode
- * @adapter: adapter being modified
+ * @link_info: Link info pointer in HDD adapter.
  * @new_phymode: new PHY mode for the device
  *
  * This function is called when the device is set to a new PHY mode.
@@ -284,22 +284,23 @@ int hdd_set_11ax_rate(struct hdd_adapter *adapter, int value,
  *
  * Return: 0 on success, negative errno value on error
  */
-int hdd_we_update_phymode(struct hdd_adapter *adapter, int new_phymode);
+int hdd_we_update_phymode(struct wlan_hdd_link_info *link_info,
+			  int new_phymode);
 
 /**
  * wlan_hdd_set_btcoex_mode() - set BTCoex Mode
- * @adapter: adapter being modified
+ * @link_info: Link info pointer in HDD adapter
  * @value: new BTCoex mode for the adapter
  *
  * This function is called to set a BTCoex Operation Mode
  *
  * Return: 0 on success, negative errno value on error
  */
-int wlan_hdd_set_btcoex_mode(struct hdd_adapter *adapter, int value);
+int wlan_hdd_set_btcoex_mode(struct wlan_hdd_link_info *link_info, int value);
 
 /**
  * wlan_hdd_set_btcoex_rssi_threshold() - set RSSI threshold
- * @adapter: adapter being modified
+ * @link_info: Link info pointer in HDD adapter
  * @value: new RSSI Threshold for the adapter
  *
  * This function is called to set a new RSSI threshold for
@@ -307,7 +308,8 @@ int wlan_hdd_set_btcoex_mode(struct hdd_adapter *adapter, int value);
  *
  * Return: 0 on success, negative errno value on error
  */
-int wlan_hdd_set_btcoex_rssi_threshold(struct hdd_adapter *adapter, int value);
+int wlan_hdd_set_btcoex_rssi_threshold(struct wlan_hdd_link_info *link_info,
+				       int value);
 
 struct iw_request_info;
 

+ 17 - 18
core/hdd/src/wlan_hdd_cfg.c

@@ -2016,12 +2016,12 @@ int hdd_get_ldpc(struct hdd_adapter *adapter, int *value)
 	return ret;
 }
 
-int hdd_set_ldpc(struct hdd_adapter *adapter, int value)
+int hdd_set_ldpc(struct wlan_hdd_link_info *link_info, int value)
 {
-	mac_handle_t mac_handle = adapter->hdd_ctx->mac_handle;
+	struct hdd_context *hdd_ctx = WLAN_HDD_GET_CTX(link_info->adapter);
+	mac_handle_t mac_handle = hdd_ctx->mac_handle;
 	int ret;
 	QDF_STATUS status;
-	struct hdd_context *hdd_ctx = WLAN_HDD_GET_CTX(adapter);
 	struct mlme_ht_capabilities_info ht_cap_info;
 
 	hdd_debug("%d", value);
@@ -2048,16 +2048,15 @@ int hdd_set_ldpc(struct hdd_adapter *adapter, int value)
 		hdd_err("Failed to set VHT LDPC capability info");
 		return -EIO;
 	}
-	ret = sme_update_ht_config(mac_handle, adapter->deflink->vdev_id,
-				   WNI_CFG_HT_CAP_INFO_ADVANCE_CODING,
-				   value);
+	ret = sme_update_ht_config(mac_handle, link_info->vdev_id,
+				   WNI_CFG_HT_CAP_INFO_ADVANCE_CODING, value);
 	if (ret)
 		hdd_err("Failed to set LDPC value");
 	ret = sme_update_he_ldpc_supp(mac_handle,
-				      adapter->deflink->vdev_id, value);
+				      link_info->vdev_id, value);
 	if (ret)
 		hdd_err("Failed to set HE LDPC value");
-	ret = sme_set_auto_rate_ldpc(mac_handle, adapter->deflink->vdev_id,
+	ret = sme_set_auto_rate_ldpc(mac_handle, link_info->vdev_id,
 				     (value ? 0 : 1));
 
 	return ret;
@@ -2081,10 +2080,10 @@ int hdd_get_tx_stbc(struct hdd_adapter *adapter, int *value)
 	return ret;
 }
 
-int hdd_set_tx_stbc(struct hdd_adapter *adapter, int value)
+int hdd_set_tx_stbc(struct wlan_hdd_link_info *link_info, int value)
 {
-	mac_handle_t mac_handle = adapter->hdd_ctx->mac_handle;
-	struct hdd_context *hdd_ctx = WLAN_HDD_GET_CTX(adapter);
+	struct hdd_context *hdd_ctx = WLAN_HDD_GET_CTX(link_info->adapter);
+	mac_handle_t mac_handle = hdd_ctx->mac_handle;
 	int ret;
 	QDF_STATUS status;
 	struct mlme_ht_capabilities_info ht_cap_info;
@@ -2109,13 +2108,13 @@ int hdd_set_tx_stbc(struct hdd_adapter *adapter, int value)
 			return -EINVAL;
 		}
 	}
-	ret = sme_update_ht_config(mac_handle, adapter->deflink->vdev_id,
+	ret = sme_update_ht_config(mac_handle, link_info->vdev_id,
 				   WNI_CFG_HT_CAP_INFO_TX_STBC,
 				   value);
 	if (ret)
 		hdd_err("Failed to set TX STBC value");
 	ret = sme_update_he_tx_stbc_cap(mac_handle,
-					adapter->deflink->vdev_id, value);
+					link_info->vdev_id, value);
 	if (ret)
 		hdd_err("Failed to set HE TX STBC value");
 
@@ -2140,10 +2139,10 @@ int hdd_get_rx_stbc(struct hdd_adapter *adapter, int *value)
 	return ret;
 }
 
-int hdd_set_rx_stbc(struct hdd_adapter *adapter, int value)
+int hdd_set_rx_stbc(struct wlan_hdd_link_info *link_info, int value)
 {
-	mac_handle_t mac_handle = adapter->hdd_ctx->mac_handle;
-	struct hdd_context *hdd_ctx = WLAN_HDD_GET_CTX(adapter);
+	struct hdd_context *hdd_ctx = WLAN_HDD_GET_CTX(link_info->adapter);
+	mac_handle_t mac_handle = hdd_ctx->mac_handle;
 	int ret;
 	QDF_STATUS status;
 	struct mlme_ht_capabilities_info ht_cap_info;
@@ -2168,14 +2167,14 @@ int hdd_set_rx_stbc(struct hdd_adapter *adapter, int value)
 			return -EINVAL;
 		}
 	}
-	ret = sme_update_ht_config(mac_handle, adapter->deflink->vdev_id,
+	ret = sme_update_ht_config(mac_handle, link_info->vdev_id,
 				   WNI_CFG_HT_CAP_INFO_RX_STBC,
 				   value);
 	if (ret)
 		hdd_err("Failed to set RX STBC value");
 
 	ret = sme_update_he_rx_stbc_cap(mac_handle,
-					adapter->deflink->vdev_id, value);
+					link_info->vdev_id, value);
 	if (ret)
 		hdd_err("Failed to set HE RX STBC value");
 

+ 91 - 96
core/hdd/src/wlan_hdd_cfg80211.c

@@ -8768,7 +8768,7 @@ static int hdd_config_ldpc(struct wlan_hdd_link_info *link_info,
 
 	ldpc = nla_get_u8(attr);
 
-	ret = hdd_set_ldpc(link_info->adapter, ldpc);
+	ret = hdd_set_ldpc(link_info, ldpc);
 
 	return ret;
 }
@@ -8781,7 +8781,7 @@ static int hdd_config_tx_stbc(struct wlan_hdd_link_info *link_info,
 
 	tx_stbc = nla_get_u8(attr);
 
-	ret = hdd_set_tx_stbc(link_info->adapter, tx_stbc);
+	ret = hdd_set_tx_stbc(link_info, tx_stbc);
 
 	return ret;
 }
@@ -8794,7 +8794,7 @@ static int hdd_config_rx_stbc(struct wlan_hdd_link_info *link_info,
 
 	rx_stbc = nla_get_u8(attr);
 
-	ret = hdd_set_rx_stbc(link_info->adapter, rx_stbc);
+	ret = hdd_set_rx_stbc(link_info, rx_stbc);
 
 	return ret;
 }
@@ -12387,8 +12387,9 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 	uint32_t cmd_id;
 	struct keep_alive_req keep_alive_req = {0};
 	struct set_wfatest_params wfa_param = {0};
+	struct wlan_hdd_link_info *link_info = adapter->link_info;
 	struct hdd_station_ctx *hdd_sta_ctx =
-		WLAN_HDD_GET_STATION_CTX_PTR(adapter->deflink);
+			WLAN_HDD_GET_STATION_CTX_PTR(link_info);
 	uint8_t op_mode;
 
 	hdd_enter_dev(dev);
@@ -12430,7 +12431,7 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 			);
 		hdd_debug("set addba accept req from peer value %d", cfg_val);
 		ret_val = sme_set_addba_accept(mac_handle,
-					       adapter->deflink->vdev_id,
+					       link_info->vdev_id,
 					       cfg_val);
 		if (ret_val)
 			goto send_err;
@@ -12441,7 +12442,7 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 			QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_HE_MCS]);
 		hdd_debug("set HE MCS value 0x%0X", cfg_val);
 		ret_val = sme_update_he_mcs(mac_handle,
-					    adapter->deflink->vdev_id, cfg_val);
+					    link_info->vdev_id, cfg_val);
 		if (ret_val)
 			goto send_err;
 	}
@@ -12483,15 +12484,15 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 
 		op_mode = wlan_get_opmode_from_vdev_id(
 						hdd_ctx->pdev,
-						adapter->deflink->vdev_id);
+						link_info->vdev_id);
 		if (op_mode == QDF_STA_MODE)
 			sme_set_ba_opmode(mac_handle,
-					  adapter->deflink->vdev_id,
+					  link_info->vdev_id,
 					  set_val);
 
 		if (!cfg_val) {
 			ret_val = wma_cli_set_command(
-				adapter->deflink->vdev_id,
+				link_info->vdev_id,
 				wmi_vdev_param_amsdu_aggregation_size_optimization,
 				0, VDEV_CMD);
 		}
@@ -12508,7 +12509,7 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 
 		hdd_debug("set HE fragmention to %d", set_val);
 		ret_val = sme_update_he_frag_supp(mac_handle,
-						  adapter->deflink->vdev_id,
+						  link_info->vdev_id,
 						  set_val);
 	}
 
@@ -12538,7 +12539,7 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 				buff_size = nla_get_u16(tb[
 				QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_ADDBA_BUFF_SIZE]);
 			ret_val = sme_send_addba_req(mac_handle,
-						     adapter->deflink->vdev_id,
+						     link_info->vdev_id,
 						     tid, buff_size);
 		} else if (cfg_val == QCA_WLAN_DELETE_BA) {
 		} else {
@@ -12551,7 +12552,7 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 		QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_ADDBA_BUFF_SIZE]);
 		hdd_debug("set buff size to %d for all tids", buff_size);
 		ret_val = sme_set_ba_buff_size(mac_handle,
-					       adapter->deflink->vdev_id,
+					       link_info->vdev_id,
 					       buff_size);
 		if (ret_val)
 			goto send_err;
@@ -12569,15 +12570,15 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 			/* Configure ADDBA req buffer size to 64 */
 			set_val = HDD_BA_MODE_64;
 
-		sme_set_ba_opmode(mac_handle, adapter->deflink->vdev_id,
+		sme_set_ba_opmode(mac_handle, link_info->vdev_id,
 				  set_val);
 
-		ret_val = wma_cli_set_command(adapter->deflink->vdev_id,
+		ret_val = wma_cli_set_command(link_info->vdev_id,
 					      wmi_vdev_param_set_ba_mode,
 					      set_val, VDEV_CMD);
 		if (ret_val)
 			hdd_err("Failed to set BA operating mode %d", set_val);
-		ret_val = wma_cli_set_command(adapter->deflink->vdev_id,
+		ret_val = wma_cli_set_command(link_info->vdev_id,
 					      GEN_VDEV_PARAM_AMPDU,
 					      buff_size, GEN_CMD);
 	}
@@ -12597,7 +12598,7 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 			QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_ENABLE_NO_ACK]);
 		hdd_debug("Set NO_ACK to %d for ac %d", cfg_val, ac);
 		ret_val = sme_set_no_ack_policy(mac_handle,
-						adapter->deflink->vdev_id,
+						link_info->vdev_id,
 						cfg_val, ac);
 		if (cfg_val) {
 			status = ucfg_mlme_get_vht_enable2x2(hdd_ctx->psoc,
@@ -12640,9 +12641,9 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 			ucfg_mlme_get_sta_keep_alive_period(
 						hdd_ctx->psoc,
 						&keep_alive_req.timePeriod);
-			keep_alive_req.sessionId = adapter->deflink->vdev_id;
+			keep_alive_req.sessionId = link_info->vdev_id;
 			status = sme_set_keep_alive(hdd_ctx->mac_handle,
-						    adapter->deflink->vdev_id,
+						    link_info->vdev_id,
 						    &keep_alive_req);
 			if (QDF_IS_STATUS_ERROR(status)) {
 				hdd_err("Failed to set keepalive");
@@ -12657,12 +12658,12 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 				QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_HE_LTF]);
 		hdd_debug("Set HE LTF to %d", cfg_val);
 		ret_val = sme_set_auto_rate_he_ltf(mac_handle,
-						   adapter->deflink->vdev_id,
+						   link_info->vdev_id,
 						   cfg_val);
 		if (ret_val)
 			sme_err("Failed to set auto rate HE LTF");
 
-		ret_val = wma_cli_set_command(adapter->deflink->vdev_id,
+		ret_val = wma_cli_set_command(link_info->vdev_id,
 					      wmi_vdev_param_set_he_ltf,
 					      cfg_val, VDEV_CMD);
 		if (ret_val)
@@ -12675,13 +12676,12 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 			QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_ENABLE_TX_BEAMFORMEE]);
 		hdd_debug("Set Tx beamformee to %d", cfg_val);
 		ret_val = sme_update_tx_bfee_supp(mac_handle,
-						  adapter->deflink->vdev_id,
+						  link_info->vdev_id,
 						  cfg_val);
 		if (ret_val)
 			sme_err("Failed to update Tx beamformee support");
 
-		ret_val = sme_update_eht_caps(mac_handle,
-					      adapter->deflink->vdev_id,
+		ret_val = sme_update_eht_caps(mac_handle, link_info->vdev_id,
 					      cfg_val, EHT_TX_BFEE_ENABLE,
 					      adapter->device_mode);
 		if (ret_val)
@@ -12693,7 +12693,7 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 	if (tb[cmd_id]) {
 		cfg_val = nla_get_u8(tb[cmd_id]);
 		ret_val = sme_update_he_capabilities(mac_handle,
-						     adapter->deflink->vdev_id,
+						     link_info->vdev_id,
 						     cfg_val, cmd_id);
 		if (ret_val)
 			sme_err("Failed to update HE cap");
@@ -12703,7 +12703,7 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 	if (tb[cmd_id]) {
 		cfg_val = nla_get_u8(tb[cmd_id]);
 		ret_val = sme_update_he_capabilities(mac_handle,
-						     adapter->deflink->vdev_id,
+						     link_info->vdev_id,
 						     cfg_val, cmd_id);
 		if (ret_val)
 			sme_err("Failed to update HE cap");
@@ -12725,7 +12725,7 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 		}
 		hdd_debug("Set Tx beamformee NSTS to %d", cfg_val);
 		ret_val = sme_update_tx_bfee_nsts(hdd_ctx->mac_handle,
-						  adapter->deflink->vdev_id,
+						  link_info->vdev_id,
 						  cfg_val,
 						  value);
 		if (ret_val)
@@ -12739,7 +12739,7 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 		if (cfg_val) {
 			hdd_debug("Set HE mac padding dur to %d", cfg_val);
 			ret_val = sme_cli_set_command(
-					adapter->deflink->vdev_id,
+					link_info->vdev_id,
 					wmi_vdev_param_mu_edca_fw_update_en,
 					0, VDEV_CMD);
 			if (ret_val)
@@ -12748,18 +12748,18 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 			sme_set_he_mu_edca_def_cfg(hdd_ctx->mac_handle);
 			if (sme_update_mu_edca_params(
 						hdd_ctx->mac_handle,
-						adapter->deflink->vdev_id))
+						link_info->vdev_id))
 				hdd_err("Failed to send mu edca params");
 		} else {
 			ret_val = sme_cli_set_command(
-					adapter->deflink->vdev_id,
+					link_info->vdev_id,
 					wmi_vdev_param_mu_edca_fw_update_en,
 					1, VDEV_CMD);
 			sme_set_usr_cfg_mu_edca(hdd_ctx->mac_handle, false);
 		}
 		ret_val = sme_update_he_trigger_frm_mac_pad(
 						    hdd_ctx->mac_handle,
-						    adapter->deflink->vdev_id,
+						    link_info->vdev_id,
 						    cfg_val);
 		if (ret_val)
 			hdd_err("Failed to set Trig frame mac padding cap");
@@ -12770,7 +12770,7 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 				     QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_OVERRIDE_MU_EDCA]);
 		if (cfg_val) {
 			ret_val = sme_cli_set_command(
-					adapter->deflink->vdev_id,
+					link_info->vdev_id,
 					wmi_vdev_param_mu_edca_fw_update_en,
 					0, VDEV_CMD);
 			if (ret_val)
@@ -12779,11 +12779,11 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 			sme_set_he_mu_edca_def_cfg(hdd_ctx->mac_handle);
 			if (sme_update_mu_edca_params(
 						hdd_ctx->mac_handle,
-						adapter->deflink->vdev_id))
+						link_info->vdev_id))
 				hdd_err("Failed to send mu edca params");
 		} else {
 			ret_val = sme_cli_set_command(
-					adapter->deflink->vdev_id,
+					link_info->vdev_id,
 					wmi_vdev_param_mu_edca_fw_update_en,
 					1, VDEV_CMD);
 			sme_set_usr_cfg_mu_edca(hdd_ctx->mac_handle, false);
@@ -12794,7 +12794,7 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 		cfg_val = nla_get_u8(tb[
 				     QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_HE_OM_CTRL_SUPP]);
 		ret_val = sme_update_he_om_ctrl_supp(hdd_ctx->mac_handle,
-						     adapter->deflink->vdev_id,
+						     link_info->vdev_id,
 						     cfg_val);
 	}
 
@@ -12834,7 +12834,7 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 				cfg_val = nla_get_u8(tb2[cmd_id]);
 				ret_val = sme_set_he_om_ctrl_param(
 						    hdd_ctx->mac_handle,
-						    adapter->deflink->vdev_id,
+						    link_info->vdev_id,
 						    cmd_id, cfg_val);
 			}
 			cmd_id = QCA_WLAN_VENDOR_ATTR_HE_OMI_RX_NSS;
@@ -12842,7 +12842,7 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 				cfg_val = nla_get_u8(tb2[cmd_id]);
 				ret_val = sme_set_he_om_ctrl_param(
 						    hdd_ctx->mac_handle,
-						    adapter->deflink->vdev_id,
+						    link_info->vdev_id,
 						    cmd_id, cfg_val);
 			}
 
@@ -12851,7 +12851,7 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 				cfg_val = nla_get_u8(tb2[cmd_id]);
 				ret_val = sme_set_he_om_ctrl_param(
 						    hdd_ctx->mac_handle,
-						    adapter->deflink->vdev_id,
+						    link_info->vdev_id,
 						    cmd_id, cfg_val);
 			}
 
@@ -12860,7 +12860,7 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 				cfg_val = nla_get_u8(tb2[cmd_id]);
 				ret_val = sme_set_he_om_ctrl_param(
 						    hdd_ctx->mac_handle,
-						    adapter->deflink->vdev_id,
+						    link_info->vdev_id,
 						    cmd_id, cfg_val);
 			}
 
@@ -12869,7 +12869,7 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 				cfg_val = nla_get_u8(tb2[cmd_id]);
 				ret_val = sme_set_he_om_ctrl_param(
 						    hdd_ctx->mac_handle,
-						    adapter->deflink->vdev_id,
+						    link_info->vdev_id,
 						    cmd_id, cfg_val);
 			}
 
@@ -12900,7 +12900,7 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 			goto send_err;
 		}
 		ret_val = sme_send_he_om_ctrl_update(hdd_ctx->mac_handle,
-						     adapter->deflink->vdev_id,
+						     link_info->vdev_id,
 						     &omi_data);
 	}
 
@@ -12912,6 +12912,7 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 		int i;
 		enum wlan_eht_mode eht_mode;
 		uint8_t op_mode;
+
 		cfg_val = nla_get_u8(tb[cmd_id]);
 		ucfg_mlme_get_eht_mode(hdd_ctx->psoc, &eht_mode);
 		if (eht_mode == WLAN_EHT_MODE_MLMR ||
@@ -12933,13 +12934,11 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 			}
 		} else {
 			if (cfg_val)
-				sme_config_su_ppdu_queue(
-						adapter->deflink->vdev_id,
-						true);
+				sme_config_su_ppdu_queue(link_info->vdev_id,
+							 true);
 			else
-				sme_config_su_ppdu_queue(
-						adapter->deflink->vdev_id,
-						false);
+				sme_config_su_ppdu_queue(link_info->vdev_id,
+							 false);
 		}
 	}
 
@@ -12956,7 +12955,7 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 		cfg_val = nla_get_u8(tb[cmd_id]);
 		hdd_debug("Configure +HTC_HE support %d", cfg_val);
 		sme_update_he_htc_he_supp(hdd_ctx->mac_handle,
-					  adapter->deflink->vdev_id,
+					  link_info->vdev_id,
 					  (cfg_val ? true : false));
 	}
 
@@ -12965,7 +12964,7 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 		cfg_val = nla_get_u8(tb[cmd_id]);
 		hdd_debug("Configure Punctured preamble Rx %d", cfg_val);
 		ret_val = sme_update_he_capabilities(mac_handle,
-						     adapter->deflink->vdev_id,
+						     link_info->vdev_id,
 						     cfg_val, cmd_id);
 		if (ret_val)
 			sme_err("Failed to update HE cap");
@@ -12978,10 +12977,10 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 		hdd_debug("Configure HE testbed defaults %d", cfg_val);
 		if (!cfg_val)
 			sme_reset_he_caps(hdd_ctx->mac_handle,
-					  adapter->deflink->vdev_id);
+					  link_info->vdev_id);
 		else
 			sme_set_he_testbed_def(hdd_ctx->mac_handle,
-					       adapter->deflink->vdev_id);
+					       link_info->vdev_id);
 	}
 
 	cmd_id = QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_HE_ACTION_TX_TB_PPDU;
@@ -12989,7 +12988,7 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 		cfg_val = nla_get_u8(tb[cmd_id]);
 		hdd_debug("Configure Action frame Tx in TB PPDU %d", cfg_val);
 		sme_config_action_tx_in_tb_ppdu(hdd_ctx->mac_handle,
-						adapter->deflink->vdev_id,
+						link_info->vdev_id,
 						cfg_val);
 	}
 
@@ -13011,7 +13010,7 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 		hdd_debug("twt_request: val %d", cfg_val);
 		ret_val = sme_update_he_twt_req_support(
 						hdd_ctx->mac_handle,
-						adapter->deflink->vdev_id,
+						link_info->vdev_id,
 						cfg_val);
 	}
 
@@ -13045,7 +13044,7 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 		}
 		ret_val = sme_update_he_full_ul_mumimo(
 						hdd_ctx->mac_handle,
-						adapter->deflink->vdev_id,
+						link_info->vdev_id,
 						cfg_val);
 	}
 
@@ -13054,7 +13053,7 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 		cfg_val = nla_get_u8(tb[cmd_id]);
 		hdd_debug("disable Tx cfg: val %d", cfg_val);
 		sme_set_cfg_disable_tx(hdd_ctx->mac_handle,
-				       adapter->deflink->vdev_id, cfg_val);
+				       link_info->vdev_id, cfg_val);
 	}
 
 	cmd_id = QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_PMF_PROTECTION;
@@ -13087,7 +13086,7 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 	if (tb[cmd_id]) {
 		hdd_info("Send disassoc mgmt frame");
 		sme_send_disassoc_req_frame(hdd_ctx->mac_handle,
-					    adapter->deflink->vdev_id,
+					    link_info->vdev_id,
 					    hdd_sta_ctx->conn_info.bssid.bytes,
 					    1, false);
 	}
@@ -13111,17 +13110,17 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 			hdd_update_channel_width(
 					adapter, eHT_CHANNEL_WIDTH_20MHZ,
 					WNI_CFG_CHANNEL_BONDING_MODE_DISABLE);
-			hdd_set_tx_stbc(adapter, 0);
+			hdd_set_tx_stbc(link_info, 0);
 			hdd_set_11ax_rate(adapter, 0x400, NULL);
 			status = wma_cli_set_command(
-					adapter->deflink->vdev_id,
+					link_info->vdev_id,
 					wmi_vdev_param_he_range_ext,
 					1, VDEV_CMD);
 			if (QDF_IS_STATUS_ERROR(status))
 				hdd_err("failed to set HE_RANGE_EXT, %d",
 					status);
 			status = wma_cli_set_command(
-					adapter->deflink->vdev_id,
+					link_info->vdev_id,
 					wmi_vdev_param_non_data_he_range_ext,
 					1, VDEV_CMD);
 			if (QDF_IS_STATUS_ERROR(status))
@@ -13131,17 +13130,17 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 			hdd_update_channel_width(
 					adapter, eHT_CHANNEL_WIDTH_160MHZ,
 					WNI_CFG_CHANNEL_BONDING_MODE_ENABLE);
-			hdd_set_tx_stbc(adapter, 1);
+			hdd_set_tx_stbc(link_info, 1);
 			hdd_set_11ax_rate(adapter, 0xFFFF, NULL);
 			status = wma_cli_set_command(
-					adapter->deflink->vdev_id,
+					link_info->vdev_id,
 					wmi_vdev_param_he_range_ext,
 					0, VDEV_CMD);
 			if (QDF_IS_STATUS_ERROR(status))
 				hdd_err("failed to set HE_RANGE_EXT, %d",
 					status);
 			status = wma_cli_set_command(
-					adapter->deflink->vdev_id,
+					link_info->vdev_id,
 					wmi_vdev_param_non_data_he_range_ext,
 					0, VDEV_CMD);
 			if (QDF_IS_STATUS_ERROR(status))
@@ -13153,7 +13152,7 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 
 	cmd_id = QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_FT_REASSOCREQ_RSNXE_USED;
 	if (tb[cmd_id]) {
-		wfa_param.vdev_id = adapter->deflink->vdev_id;
+		wfa_param.vdev_id = link_info->vdev_id;
 		wfa_param.value = nla_get_u8(tb[cmd_id]);
 
 		if (wfa_param.value < RSNXE_DEFAULT ||
@@ -13164,13 +13163,13 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 		wfa_param.cmd = WFA_CONFIG_RXNE;
 		hdd_info("send wfa test config RXNE used %d", wfa_param.value);
 
-		ret_val = ucfg_send_wfatest_cmd(adapter->deflink->vdev,
+		ret_val = ucfg_send_wfatest_cmd(link_info->vdev,
 						&wfa_param);
 	}
 
 	cmd_id = QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_IGNORE_CSA;
 	if (tb[cmd_id]) {
-		wfa_param.vdev_id = adapter->deflink->vdev_id;
+		wfa_param.vdev_id = link_info->vdev_id;
 		wfa_param.value = nla_get_u8(tb[cmd_id]);
 
 		if (wfa_param.value != CSA_DEFAULT &&
@@ -13181,7 +13180,7 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 		wfa_param.cmd = WFA_CONFIG_CSA;
 		hdd_info("send wfa test config CSA used %d", wfa_param.value);
 
-		ret_val = ucfg_send_wfatest_cmd(adapter->deflink->vdev,
+		ret_val = ucfg_send_wfatest_cmd(link_info->vdev,
 						&wfa_param);
 	}
 
@@ -13197,7 +13196,7 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 	if (tb[cmd_id]) {
 		struct nlattr *tb2[QCA_WLAN_VENDOR_ATTR_OCI_OVERRIDE_MAX + 1];
 
-		wfa_param.vdev_id = adapter->deflink->vdev_id;
+		wfa_param.vdev_id = link_info->vdev_id;
 		wfa_param.cmd = WFA_CONFIG_OCV;
 		if (wlan_cfg80211_nla_parse_nested(
 				tb2, QCA_WLAN_VENDOR_ATTR_OCI_OVERRIDE_MAX,
@@ -13262,14 +13261,14 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 		hdd_info("send wfa test config OCV frame type %d freq %d",
 			 wfa_param.ocv_param->frame_type,
 			 wfa_param.ocv_param->freq);
-		ret_val = ucfg_send_wfatest_cmd(adapter->deflink->vdev,
+		ret_val = ucfg_send_wfatest_cmd(link_info->vdev,
 						&wfa_param);
 		qdf_mem_free(wfa_param.ocv_param);
 	}
 
 	cmd_id = QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_IGNORE_SA_QUERY_TIMEOUT;
 	if (tb[cmd_id]) {
-		wfa_param.vdev_id = adapter->deflink->vdev_id;
+		wfa_param.vdev_id = link_info->vdev_id;
 		wfa_param.value = nla_get_u8(tb[cmd_id]);
 
 		if (wfa_param.value != SA_QUERY_TIMEOUT_DEFAULT &&
@@ -13281,13 +13280,13 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 		wfa_param.cmd = WFA_CONFIG_SA_QUERY;
 		hdd_info("send wfa test config SAquery %d", wfa_param.value);
 
-		ret_val = ucfg_send_wfatest_cmd(adapter->deflink->vdev,
+		ret_val = ucfg_send_wfatest_cmd(link_info->vdev,
 						&wfa_param);
 	}
 
 	cmd_id = QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_FILS_DISCOVERY_FRAMES_TX;
 	if (tb[cmd_id] && adapter->device_mode == QDF_SAP_MODE) {
-		wfa_param.vdev_id = adapter->deflink->vdev_id;
+		wfa_param.vdev_id = link_info->vdev_id;
 		wfa_param.value = nla_get_u8(tb[cmd_id]);
 
 		if (!(wfa_param.value == FILS_DISCV_FRAMES_DISABLE ||
@@ -13299,13 +13298,13 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 		wfa_param.cmd = WFA_FILS_DISCV_FRAMES;
 		hdd_info("send wfa FILS_DISCV_FRAMES TX config %d",
 			 wfa_param.value);
-		ret_val = ucfg_send_wfatest_cmd(adapter->deflink->vdev,
+		ret_val = ucfg_send_wfatest_cmd(link_info->vdev,
 						&wfa_param);
 	}
 
 	cmd_id = QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_IGNORE_H2E_RSNXE;
 	if (tb[cmd_id]) {
-		wfa_param.vdev_id = adapter->deflink->vdev_id;
+		wfa_param.vdev_id = link_info->vdev_id;
 		wfa_param.value = nla_get_u8(tb[cmd_id]);
 
 		if (!(wfa_param.value == H2E_RSNXE_DEFAULT ||
@@ -13317,7 +13316,7 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 		wfa_param.cmd = WFA_IGNORE_H2E_RSNXE;
 		hdd_info("send wfa WFA_IGNORE_H2E_RSNXE config %d",
 			 wfa_param.value);
-		ret_val = ucfg_send_wfatest_cmd(adapter->deflink->vdev,
+		ret_val = ucfg_send_wfatest_cmd(link_info->vdev,
 						&wfa_param);
 	}
 
@@ -13335,7 +13334,7 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 		set_val = cfg_val ? TX_BFER_NDP_PERIODICITY : 0;
 
 		ret_val = wma_cli_set_command(
-					adapter->deflink->vdev_id,
+					link_info->vdev_id,
 					WMI_PDEV_PARAM_TXBF_SOUND_PERIOD_CMDID,
 					set_val, PDEV_CMD);
 	}
@@ -13345,8 +13344,7 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 		cfg_val = nla_get_u8(tb[cmd_id]);
 		hdd_debug("Configure Tx BF < 80 MHz: %d", cfg_val);
 
-		ret_val = sme_update_eht_caps(mac_handle,
-					      adapter->deflink->vdev_id,
+		ret_val = sme_update_eht_caps(mac_handle, link_info->vdev_id,
 					      cfg_val, EHT_TX_BFEE_SS_80MHZ,
 					      adapter->device_mode);
 		if (ret_val)
@@ -13358,8 +13356,7 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 		cfg_val = nla_get_u8(tb[cmd_id]);
 		hdd_debug("Configure Tx BF for 160 MHz: %d", cfg_val);
 
-		ret_val = sme_update_eht_caps(mac_handle,
-					      adapter->deflink->vdev_id,
+		ret_val = sme_update_eht_caps(mac_handle, link_info->vdev_id,
 					      cfg_val, EHT_TX_BFEE_SS_160MHZ,
 					      adapter->device_mode);
 		if (ret_val)
@@ -13371,8 +13368,7 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 		cfg_val = nla_get_u8(tb[cmd_id]);
 		hdd_debug("Configure Tx BF for 320 MHz: %d", cfg_val);
 
-		ret_val = sme_update_eht_caps(mac_handle,
-					      adapter->deflink->vdev_id,
+		ret_val = sme_update_eht_caps(mac_handle, link_info->vdev_id,
 					      cfg_val, EHT_TX_BFEE_SS_320MHZ,
 					      adapter->device_mode);
 		if (ret_val)
@@ -13384,17 +13380,17 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 		cfg_val = nla_get_u8(tb[cmd_id]);
 
 		if (cfg_val) {
-			wlan_vdev_obj_lock(adapter->deflink->vdev);
+			wlan_vdev_obj_lock(link_info->vdev);
 			wlan_vdev_mlme_cap_set(
-					adapter->deflink->vdev,
+					link_info->vdev,
 					WLAN_VDEV_C_EXCL_STA_PROF_PRB_REQ);
-			wlan_vdev_obj_unlock(adapter->deflink->vdev);
+			wlan_vdev_obj_unlock(link_info->vdev);
 		} else {
-			wlan_vdev_obj_lock(adapter->deflink->vdev);
+			wlan_vdev_obj_lock(link_info->vdev);
 			wlan_vdev_mlme_cap_clear(
-					adapter->deflink->vdev,
+					link_info->vdev,
 					WLAN_VDEV_C_EXCL_STA_PROF_PRB_REQ);
-			wlan_vdev_obj_unlock(adapter->deflink->vdev);
+			wlan_vdev_obj_unlock(link_info->vdev);
 		}
 		hdd_debug("Sta profile in Probe req frame: %d", cfg_val);
 	}
@@ -13405,24 +13401,23 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 		hdd_debug("Configure EHT testbed defaults %d", cfg_val);
 		if (!cfg_val)
 			sme_reset_eht_caps(hdd_ctx->mac_handle,
-					   adapter->deflink->vdev_id);
+					   link_info->vdev_id);
 		else
 			sme_set_eht_testbed_def(hdd_ctx->mac_handle,
-						adapter->deflink->vdev_id);
+						link_info->vdev_id);
 
 		sme_set_vdev_ies_per_band(hdd_ctx->mac_handle,
-					  adapter->deflink->vdev_id,
+					  link_info->vdev_id,
 					  adapter->device_mode);
 	}
 
 	cmd_id = QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_EHT_MCS;
 	if (tb[cmd_id]) {
 		cfg_val = nla_get_u8(tb[cmd_id]);
-		sme_update_eht_cap_mcs(hdd_ctx->mac_handle,
-				       adapter->deflink->vdev_id,
+		sme_update_eht_cap_mcs(hdd_ctx->mac_handle, link_info->vdev_id,
 				       cfg_val);
 		sme_set_vdev_ies_per_band(hdd_ctx->mac_handle,
-					  adapter->deflink->vdev_id,
+					  link_info->vdev_id,
 					  adapter->device_mode);
 	}
 
@@ -13433,7 +13428,7 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 			  cfg_val);
 
 		ret_val = sme_update_eht_caps(
-					mac_handle, adapter->deflink->vdev_id,
+					mac_handle, link_info->vdev_id,
 					cfg_val,
 					EHT_TX_BFEE_SOUNDING_FEEDBACK_RATELIMIT,
 					adapter->device_mode);
@@ -13447,13 +13442,13 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 		hdd_debug("EHT OM control support: %d", cfg_val);
 
 		ret_val = sme_update_he_htc_he_supp(hdd_ctx->mac_handle,
-						    adapter->deflink->vdev_id,
+						    link_info->vdev_id,
 						    true);
 		if (ret_val)
 			hdd_err("Could not set htc_he");
 
 		ret_val = sme_update_eht_om_ctrl_supp(hdd_ctx->mac_handle,
-						      adapter->deflink->vdev_id,
+						      link_info->vdev_id,
 						      cfg_val);
 		if (ret_val)
 			hdd_err("Could not update EHT OM control fields");
@@ -13498,7 +13493,7 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 		arg[0] = 676;
 		arg[1] = 1;
 
-		ret_val = sme_send_unit_test_cmd(adapter->deflink->vdev_id,
+		ret_val = sme_send_unit_test_cmd(link_info->vdev_id,
 						 0x48, 2, arg);
 
 		if (ret_val)

+ 51 - 50
core/hdd/src/wlan_hdd_hostapd_wext.c

@@ -368,6 +368,7 @@ static __iw_softap_setparam(struct net_device *dev,
 	int ret = 0;
 	struct hdd_context *hdd_ctx;
 	bool bval = false;
+	struct wlan_hdd_link_info *link_info = adapter->deflink;
 
 	hdd_enter_dev(dev);
 
@@ -395,7 +396,7 @@ static __iw_softap_setparam(struct net_device *dev,
 
 	case QCSAP_PARAM_CLR_ACL:
 		if (QDF_STATUS_SUCCESS != wlansap_clear_acl(
-		    WLAN_HDD_GET_SAP_CTX_PTR(adapter->deflink))) {
+		    WLAN_HDD_GET_SAP_CTX_PTR(link_info))) {
 			ret = -EIO;
 		}
 		break;
@@ -407,7 +408,7 @@ static __iw_softap_setparam(struct net_device *dev,
 			ret = -EINVAL;
 		} else {
 			wlansap_set_acl_mode(
-				WLAN_HDD_GET_SAP_CTX_PTR(adapter->deflink),
+				WLAN_HDD_GET_SAP_CTX_PTR(link_info),
 				set_value);
 		}
 		break;
@@ -416,7 +417,7 @@ static __iw_softap_setparam(struct net_device *dev,
 		if ((QDF_SAP_MODE == adapter->device_mode) ||
 		   (QDF_P2P_GO_MODE == adapter->device_mode)) {
 			wlan_hdd_set_sap_csa_reason(hdd_ctx->psoc,
-						    adapter->deflink->vdev_id,
+						    link_info->vdev_id,
 						    CSA_REASON_USER_INITIATED);
 			hdd_debug("SET Channel Change to new channel= %d",
 			       set_value);
@@ -484,7 +485,7 @@ static __iw_softap_setparam(struct net_device *dev,
 		wlan_hdd_disable_roaming(adapter, RSO_START_BSS);
 
 		status = sme_update_session_param(mac_handle,
-				adapter->deflink->vdev_id,
+				link_info->vdev_id,
 				SIR_PARAM_SSID_HIDDEN, set_value);
 		if (QDF_STATUS_SUCCESS != status) {
 			hdd_err("QCSAP_PARAM_HIDE_SSID failed");
@@ -523,7 +524,7 @@ static __iw_softap_setparam(struct net_device *dev,
 	case QCSAP_PARAM_SET_TXRX_FW_STATS:
 	{
 		hdd_debug("QCSAP_PARAM_SET_TXRX_FW_STATS val %d", set_value);
-		ret = wma_cli_set_command(adapter->deflink->vdev_id,
+		ret = wma_cli_set_command(link_info->vdev_id,
 					  WMA_VDEV_TXRX_FWSTATS_ENABLE_CMDID,
 					  set_value, VDEV_CMD);
 		break;
@@ -533,7 +534,7 @@ static __iw_softap_setparam(struct net_device *dev,
 	case QCSAP_DBGLOG_LOG_LEVEL:
 	{
 		hdd_debug("QCSAP_DBGLOG_LOG_LEVEL val %d", set_value);
-		ret = wma_cli_set_command(adapter->deflink->vdev_id,
+		ret = wma_cli_set_command(link_info->vdev_id,
 					  WMI_DBGLOG_LOG_LEVEL,
 					  set_value, DBG_CMD);
 		break;
@@ -542,7 +543,7 @@ static __iw_softap_setparam(struct net_device *dev,
 	case QCSAP_DBGLOG_VAP_ENABLE:
 	{
 		hdd_debug("QCSAP_DBGLOG_VAP_ENABLE val %d", set_value);
-		ret = wma_cli_set_command(adapter->deflink->vdev_id,
+		ret = wma_cli_set_command(link_info->vdev_id,
 					  WMI_DBGLOG_VAP_ENABLE,
 					  set_value, DBG_CMD);
 		break;
@@ -551,7 +552,7 @@ static __iw_softap_setparam(struct net_device *dev,
 	case QCSAP_DBGLOG_VAP_DISABLE:
 	{
 		hdd_debug("QCSAP_DBGLOG_VAP_DISABLE val %d", set_value);
-		ret = wma_cli_set_command(adapter->deflink->vdev_id,
+		ret = wma_cli_set_command(link_info->vdev_id,
 					  WMI_DBGLOG_VAP_DISABLE,
 					  set_value, DBG_CMD);
 		break;
@@ -560,7 +561,7 @@ static __iw_softap_setparam(struct net_device *dev,
 	case QCSAP_DBGLOG_MODULE_ENABLE:
 	{
 		hdd_debug("QCSAP_DBGLOG_MODULE_ENABLE val %d", set_value);
-		ret = wma_cli_set_command(adapter->deflink->vdev_id,
+		ret = wma_cli_set_command(link_info->vdev_id,
 					  WMI_DBGLOG_MODULE_ENABLE,
 					  set_value, DBG_CMD);
 		break;
@@ -569,7 +570,7 @@ static __iw_softap_setparam(struct net_device *dev,
 	case QCSAP_DBGLOG_MODULE_DISABLE:
 	{
 		hdd_debug("QCSAP_DBGLOG_MODULE_DISABLE val %d", set_value);
-		ret = wma_cli_set_command(adapter->deflink->vdev_id,
+		ret = wma_cli_set_command(link_info->vdev_id,
 					  WMI_DBGLOG_MODULE_DISABLE,
 					  set_value, DBG_CMD);
 		break;
@@ -578,7 +579,7 @@ static __iw_softap_setparam(struct net_device *dev,
 	case QCSAP_DBGLOG_MOD_LOG_LEVEL:
 	{
 		hdd_debug("QCSAP_DBGLOG_MOD_LOG_LEVEL val %d", set_value);
-		ret = wma_cli_set_command(adapter->deflink->vdev_id,
+		ret = wma_cli_set_command(link_info->vdev_id,
 					  WMI_DBGLOG_MOD_LOG_LEVEL,
 					  set_value, DBG_CMD);
 		break;
@@ -587,7 +588,7 @@ static __iw_softap_setparam(struct net_device *dev,
 	case QCSAP_DBGLOG_TYPE:
 	{
 		hdd_debug("QCSAP_DBGLOG_TYPE val %d", set_value);
-		ret = wma_cli_set_command(adapter->deflink->vdev_id,
+		ret = wma_cli_set_command(link_info->vdev_id,
 					  WMI_DBGLOG_TYPE,
 					  set_value, DBG_CMD);
 		break;
@@ -595,7 +596,7 @@ static __iw_softap_setparam(struct net_device *dev,
 	case QCSAP_DBGLOG_REPORT_ENABLE:
 	{
 		hdd_debug("QCSAP_DBGLOG_REPORT_ENABLE val %d", set_value);
-		ret = wma_cli_set_command(adapter->deflink->vdev_id,
+		ret = wma_cli_set_command(link_info->vdev_id,
 					  WMI_DBGLOG_REPORT_ENABLE,
 					  set_value, DBG_CMD);
 		break;
@@ -618,7 +619,7 @@ static __iw_softap_setparam(struct net_device *dev,
 	case QCASAP_TXRX_FWSTATS_RESET:
 	{
 		hdd_debug("WE_TXRX_FWSTATS_RESET val %d", set_value);
-		ret = wma_cli_set_command(adapter->deflink->vdev_id,
+		ret = wma_cli_set_command(link_info->vdev_id,
 					  WMA_VDEV_TXRX_FWSTATS_RESET_CMDID,
 					  set_value, VDEV_CMD);
 		break;
@@ -626,7 +627,7 @@ static __iw_softap_setparam(struct net_device *dev,
 
 	case QCSAP_PARAM_RTSCTS:
 	{
-		ret = wma_cli_set_command(adapter->deflink->vdev_id,
+		ret = wma_cli_set_command(link_info->vdev_id,
 					  wmi_vdev_param_enable_rtscts,
 					  set_value, VDEV_CMD);
 		if (ret) {
@@ -639,7 +640,7 @@ static __iw_softap_setparam(struct net_device *dev,
 	{
 		uint8_t preamble = 0, nss = 0, rix = 0;
 		struct sap_config *config =
-			&adapter->deflink->session.ap.sap_config;
+			&link_info->session.ap.sap_config;
 
 		hdd_debug("SET_HT_RATE val %d", set_value);
 
@@ -692,7 +693,7 @@ static __iw_softap_setparam(struct net_device *dev,
 		}
 		hdd_debug("SET_HT_RATE val %d rix %d preamble %x nss %d",
 		       set_value, rix, preamble, nss);
-		ret = wma_cli_set_command(adapter->deflink->vdev_id,
+		ret = wma_cli_set_command(link_info->vdev_id,
 					  wmi_vdev_param_fixed_rate,
 					  set_value, VDEV_CMD);
 		break;
@@ -702,7 +703,7 @@ static __iw_softap_setparam(struct net_device *dev,
 	{
 		uint8_t preamble = 0, nss = 0, rix = 0;
 		struct sap_config *config =
-			&adapter->deflink->session.ap.sap_config;
+			&link_info->session.ap.sap_config;
 
 		if (config->SapHw_mode < eCSR_DOT11_MODE_11ac ||
 		    config->SapHw_mode == eCSR_DOT11_MODE_11ax_ONLY ||
@@ -723,7 +724,7 @@ static __iw_softap_setparam(struct net_device *dev,
 		hdd_debug("SET_VHT_RATE val %d rix %d preamble %x nss %d",
 		       set_value, rix, preamble, nss);
 
-		ret = wma_cli_set_command(adapter->deflink->vdev_id,
+		ret = wma_cli_set_command(link_info->vdev_id,
 					  wmi_vdev_param_fixed_rate,
 					  set_value, VDEV_CMD);
 		break;
@@ -732,7 +733,7 @@ static __iw_softap_setparam(struct net_device *dev,
 	case QCASAP_SHORT_GI:
 	{
 		hdd_debug("QCASAP_SET_SHORT_GI val %d", set_value);
-		ret = hdd_we_set_short_gi(adapter, set_value);
+		ret = hdd_we_set_short_gi(link_info, set_value);
 		if (ret)
 			hdd_err("Failed to set ShortGI value ret: %d", ret);
 		break;
@@ -741,7 +742,7 @@ static __iw_softap_setparam(struct net_device *dev,
 	case QCSAP_SET_AMPDU:
 	{
 		hdd_debug("QCSAP_SET_AMPDU %d", set_value);
-		ret = wma_cli_set_command(adapter->deflink->vdev_id,
+		ret = wma_cli_set_command(link_info->vdev_id,
 					  GEN_VDEV_PARAM_AMPDU,
 					  set_value, GEN_CMD);
 		break;
@@ -750,7 +751,7 @@ static __iw_softap_setparam(struct net_device *dev,
 	case QCSAP_SET_AMSDU:
 	{
 		hdd_debug("QCSAP_SET_AMSDU %d", set_value);
-		ret = wma_cli_set_command(adapter->deflink->vdev_id,
+		ret = wma_cli_set_command(link_info->vdev_id,
 					  GEN_VDEV_PARAM_AMSDU,
 					  set_value, GEN_CMD);
 		break;
@@ -758,7 +759,7 @@ static __iw_softap_setparam(struct net_device *dev,
 	case QCSAP_GTX_HT_MCS:
 	{
 		hdd_debug("wmi_vdev_param_gtx_ht_mcs %d", set_value);
-		ret = wma_cli_set_command(adapter->deflink->vdev_id,
+		ret = wma_cli_set_command(link_info->vdev_id,
 					  wmi_vdev_param_gtx_ht_mcs,
 					  set_value, GTX_CMD);
 		break;
@@ -767,7 +768,7 @@ static __iw_softap_setparam(struct net_device *dev,
 	case QCSAP_GTX_VHT_MCS:
 	{
 		hdd_debug("wmi_vdev_param_gtx_vht_mcs %d", set_value);
-		ret = wma_cli_set_command(adapter->deflink->vdev_id,
+		ret = wma_cli_set_command(link_info->vdev_id,
 					  wmi_vdev_param_gtx_vht_mcs,
 						set_value, GTX_CMD);
 		break;
@@ -776,7 +777,7 @@ static __iw_softap_setparam(struct net_device *dev,
 	case QCSAP_GTX_USRCFG:
 	{
 		hdd_debug("wmi_vdev_param_gtx_usr_cfg %d", set_value);
-		ret = wma_cli_set_command(adapter->deflink->vdev_id,
+		ret = wma_cli_set_command(link_info->vdev_id,
 					  wmi_vdev_param_gtx_usr_cfg,
 					  set_value, GTX_CMD);
 		break;
@@ -785,7 +786,7 @@ static __iw_softap_setparam(struct net_device *dev,
 	case QCSAP_GTX_THRE:
 	{
 		hdd_debug("wmi_vdev_param_gtx_thre %d", set_value);
-		ret = wma_cli_set_command(adapter->deflink->vdev_id,
+		ret = wma_cli_set_command(link_info->vdev_id,
 					  wmi_vdev_param_gtx_thre,
 					  set_value, GTX_CMD);
 		break;
@@ -794,7 +795,7 @@ static __iw_softap_setparam(struct net_device *dev,
 	case QCSAP_GTX_MARGIN:
 	{
 		hdd_debug("wmi_vdev_param_gtx_margin %d", set_value);
-		ret = wma_cli_set_command(adapter->deflink->vdev_id,
+		ret = wma_cli_set_command(link_info->vdev_id,
 					  wmi_vdev_param_gtx_margin,
 					  set_value, GTX_CMD);
 		break;
@@ -803,7 +804,7 @@ static __iw_softap_setparam(struct net_device *dev,
 	case QCSAP_GTX_STEP:
 	{
 		hdd_debug("wmi_vdev_param_gtx_step %d", set_value);
-		ret = wma_cli_set_command(adapter->deflink->vdev_id,
+		ret = wma_cli_set_command(link_info->vdev_id,
 					  wmi_vdev_param_gtx_step,
 					  set_value, GTX_CMD);
 		break;
@@ -812,7 +813,7 @@ static __iw_softap_setparam(struct net_device *dev,
 	case QCSAP_GTX_MINTPC:
 	{
 		hdd_debug("wmi_vdev_param_gtx_mintpc %d", set_value);
-		ret = wma_cli_set_command(adapter->deflink->vdev_id,
+		ret = wma_cli_set_command(link_info->vdev_id,
 					  wmi_vdev_param_gtx_mintpc,
 					  set_value, GTX_CMD);
 		break;
@@ -821,7 +822,7 @@ static __iw_softap_setparam(struct net_device *dev,
 	case QCSAP_GTX_BWMASK:
 	{
 		hdd_debug("wmi_vdev_param_gtx_bw_mask%d", set_value);
-		ret = wma_cli_set_command(adapter->deflink->vdev_id,
+		ret = wma_cli_set_command(link_info->vdev_id,
 					  wmi_vdev_param_gtx_bw_mask,
 					  set_value, GTX_CMD);
 		break;
@@ -863,7 +864,7 @@ static __iw_softap_setparam(struct net_device *dev,
 			return -EINVAL;
 
 		status = sme_set_he_bss_color(mac_handle,
-					      adapter->deflink->vdev_id,
+					      link_info->vdev_id,
 					      set_value);
 		if (QDF_STATUS_SUCCESS != status) {
 			hdd_err("SET_HE_BSS_COLOR failed");
@@ -872,7 +873,7 @@ static __iw_softap_setparam(struct net_device *dev,
 		break;
 	case QCASAP_SET_DFS_NOL:
 		wlansap_set_dfs_nol(
-			WLAN_HDD_GET_SAP_CTX_PTR(adapter->deflink),
+			WLAN_HDD_GET_SAP_CTX_PTR(link_info),
 			(eSapDfsNolType) set_value);
 		break;
 
@@ -890,7 +891,7 @@ static __iw_softap_setparam(struct net_device *dev,
 			return -EINVAL;
 		}
 
-		ap_ctx = WLAN_HDD_GET_AP_CTX_PTR(adapter->deflink);
+		ap_ctx = WLAN_HDD_GET_AP_CTX_PTR(link_info);
 		qdf_mem_zero(&radar, sizeof(radar));
 		if (wlansap_is_channel_in_nol_list(ap_ctx->sap_context,
 						   ap_ctx->operating_chan_freq,
@@ -909,7 +910,7 @@ static __iw_softap_setparam(struct net_device *dev,
 	case QCASAP_TX_CHAINMASK_CMD:
 	{
 		hdd_debug("QCASAP_TX_CHAINMASK_CMD val %d", set_value);
-		ret = wma_cli_set_command(adapter->deflink->vdev_id,
+		ret = wma_cli_set_command(link_info->vdev_id,
 					  wmi_pdev_param_tx_chain_mask,
 					  set_value, PDEV_CMD);
 		ret = hdd_set_antenna_mode(adapter, hdd_ctx, set_value);
@@ -919,7 +920,7 @@ static __iw_softap_setparam(struct net_device *dev,
 	case QCASAP_RX_CHAINMASK_CMD:
 	{
 		hdd_debug("QCASAP_RX_CHAINMASK_CMD val %d", set_value);
-		ret = wma_cli_set_command(adapter->deflink->vdev_id,
+		ret = wma_cli_set_command(link_info->vdev_id,
 					  wmi_pdev_param_rx_chain_mask,
 					  set_value, PDEV_CMD);
 		ret = hdd_set_antenna_mode(adapter, hdd_ctx, set_value);
@@ -930,7 +931,7 @@ static __iw_softap_setparam(struct net_device *dev,
 	{
 		hdd_debug("QCASAP_NSS_CMD val %d", set_value);
 		hdd_update_nss(adapter, set_value, set_value);
-		ret = wma_cli_set_command(adapter->deflink->vdev_id,
+		ret = wma_cli_set_command(link_info->vdev_id,
 					  wmi_vdev_param_nss,
 					  set_value, VDEV_CMD);
 		break;
@@ -962,7 +963,7 @@ static __iw_softap_setparam(struct net_device *dev,
 	}
 
 	case QCASAP_SET_PHYMODE:
-		ret = hdd_we_update_phymode(adapter, set_value);
+		ret = hdd_we_update_phymode(link_info, set_value);
 		break;
 
 	case QCASAP_DUMP_STATS:
@@ -979,8 +980,8 @@ static __iw_softap_setparam(struct net_device *dev,
 		switch (set_value) {
 		case CDP_HDD_STATS:
 			ucfg_dp_clear_net_dev_stats(adapter->dev);
-			memset(&adapter->deflink->hdd_stats, 0,
-			       sizeof(adapter->deflink->hdd_stats));
+			memset(&link_info->hdd_stats, 0,
+			       sizeof(link_info->hdd_stats));
 			break;
 		case CDP_TXRX_HIST_STATS:
 			ucfg_wlan_dp_clear_tx_rx_histogram(hdd_ctx->psoc);
@@ -1000,54 +1001,54 @@ static __iw_softap_setparam(struct net_device *dev,
 	}
 	case QCSAP_START_FW_PROFILING:
 		hdd_debug("QCSAP_START_FW_PROFILING %d", set_value);
-		ret = wma_cli_set_command(adapter->deflink->vdev_id,
+		ret = wma_cli_set_command(link_info->vdev_id,
 					  WMI_WLAN_PROFILE_TRIGGER_CMDID,
 					  set_value, DBG_CMD);
 		break;
 	case QCASAP_PARAM_LDPC:
-		ret = hdd_set_ldpc(adapter, set_value);
+		ret = hdd_set_ldpc(link_info, set_value);
 		break;
 	case QCASAP_PARAM_TX_STBC:
-		ret = hdd_set_tx_stbc(adapter, set_value);
+		ret = hdd_set_tx_stbc(link_info, set_value);
 		break;
 	case QCASAP_PARAM_RX_STBC:
-		ret = hdd_set_rx_stbc(adapter, set_value);
+		ret = hdd_set_rx_stbc(link_info, set_value);
 		break;
 	case QCASAP_SET_11AX_RATE:
 		ret = hdd_set_11ax_rate(adapter, set_value,
-					&adapter->deflink->session.ap.sap_config);
+					&link_info->session.ap.sap_config);
 		break;
 	case QCASAP_PARAM_DCM:
 		hdd_debug("Set wmi_vdev_param_he_dcm_enable: %d", set_value);
-		ret = wma_cli_set_command(adapter->deflink->vdev_id,
+		ret = wma_cli_set_command(link_info->vdev_id,
 					  wmi_vdev_param_he_dcm_enable,
 					  set_value, VDEV_CMD);
 		break;
 	case QCASAP_PARAM_RANGE_EXT:
 		hdd_debug("Set wmi_vdev_param_he_range_ext: %d", set_value);
-		ret = wma_cli_set_command(adapter->deflink->vdev_id,
+		ret = wma_cli_set_command(link_info->vdev_id,
 					  wmi_vdev_param_he_range_ext,
 					  set_value, VDEV_CMD);
 		break;
 	case QCSAP_SET_DEFAULT_AMPDU:
 		hdd_debug("QCSAP_SET_DEFAULT_AMPDU val %d", set_value);
 		ret = wma_cli_set_command(
-				(int)adapter->deflink->vdev_id,
+				(int)link_info->vdev_id,
 				(int)wmi_pdev_param_max_mpdus_in_ampdu,
 				set_value, PDEV_CMD);
 		break;
 	case QCSAP_ENABLE_RTS_BURSTING:
 		hdd_debug("QCSAP_ENABLE_RTS_BURSTING val %d", set_value);
 		ret = wma_cli_set_command(
-				(int)adapter->deflink->vdev_id,
+				(int)link_info->vdev_id,
 				(int)wmi_pdev_param_enable_rts_sifs_bursting,
 				set_value, PDEV_CMD);
 		break;
 	case QCSAP_SET_BTCOEX_MODE:
-		ret =  wlan_hdd_set_btcoex_mode(adapter, set_value);
+		ret =  wlan_hdd_set_btcoex_mode(link_info, set_value);
 		break;
 	case QCSAP_SET_BTCOEX_LOW_RSSI_THRESHOLD:
-		ret =  wlan_hdd_set_btcoex_rssi_threshold(adapter, set_value);
+		ret =  wlan_hdd_set_btcoex_rssi_threshold(link_info, set_value);
 		break;
 	default:
 		hdd_err("Invalid setparam command %d value %d",

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

@@ -2495,10 +2495,11 @@ static int hdd_parse_get_cckm_ie(uint8_t *command, uint8_t **cckm_ie,
 }
 #endif /* FEATURE_WLAN_ESE */
 
-int wlan_hdd_set_mc_rate(struct hdd_adapter *adapter, int target_rate)
+int wlan_hdd_set_mc_rate(struct wlan_hdd_link_info *link_info, int target_rate)
 {
 	tSirRateUpdateInd rate_update = {0};
 	QDF_STATUS status;
+	struct hdd_adapter *adapter = link_info->adapter;
 	struct hdd_context *hdd_ctx = WLAN_HDD_GET_CTX(adapter);
 	bool bval = false;
 
@@ -5065,7 +5066,7 @@ static int drv_cmd_set_mc_rate(struct wlan_hdd_link_info *link_info,
 	/* Convert the value from ascii to integer, decimal base */
 	ret = kstrtouint(value, 10, &target_rate);
 
-	ret = wlan_hdd_set_mc_rate(link_info->adapter, target_rate);
+	ret = wlan_hdd_set_mc_rate(link_info, target_rate);
 	return ret;
 }
 

+ 11 - 1
core/hdd/src/wlan_hdd_ioctl.h

@@ -53,7 +53,17 @@ int hdd_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd);
  */
 int hdd_dev_private_ioctl(struct net_device *dev, struct ifreq *ifr,
 			  void __user *data, int cmd);
-int wlan_hdd_set_mc_rate(struct hdd_adapter *adapter, int target_rate);
+
+/**
+ * wlan_hdd_set_mc_rate() - Function to set MC rate.
+ * @link_info: Link info pointer in HDD adapter
+ * @target_rate: Target rate to set.
+ *
+ * The API sets the value in @target_rate for MC Tx
+ *
+ * Return: Non-zero value on failure.
+ */
+int wlan_hdd_set_mc_rate(struct wlan_hdd_link_info *link_info, int target_rate);
 
 /**
  * hdd_update_smps_antenna_mode() - set smps and antenna mode

+ 7 - 6
core/hdd/src/wlan_hdd_main.c

@@ -20630,7 +20630,7 @@ uint8_t *hdd_ch_width_str(enum phy_ch_width ch_width)
 	return "UNKNOWN";
 }
 
-int hdd_we_set_ch_width(struct hdd_adapter *adapter, int ch_width)
+int hdd_we_set_ch_width(struct wlan_hdd_link_info *link_info, int ch_width)
 {
 	int i;
 
@@ -20638,11 +20638,12 @@ int hdd_we_set_ch_width(struct hdd_adapter *adapter, int ch_width)
 	hdd_debug("wmi_vdev_param_chwidth val %d", ch_width);
 
 	for (i = 0; i < ARRAY_SIZE(chwidth_info); i++) {
-		if (chwidth_info[i].sir_chwidth_valid &&
-		    chwidth_info[i].sir_chwidth == ch_width)
-			return hdd_update_channel_width(
-					adapter, ch_width,
-					chwidth_info[i].bonding_mode);
+		if (!chwidth_info[i].sir_chwidth_valid ||
+		    chwidth_info[i].sir_chwidth != ch_width)
+			continue;
+
+		return hdd_update_channel_width(link_info->adapter, ch_width,
+						chwidth_info[i].bonding_mode);
 	}
 
 	hdd_err("Invalid ch_width %d", ch_width);

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 241 - 172
core/hdd/src/wlan_hdd_wext.c


Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно