Browse Source

qcacld-3.0: Change TDLS connection peer count and legacy APIs

As the APIs retrieve information from per link data structure
changing the function prototype to take link info as argument
so that callers can query for each link info.
Existing APIs changed to deflink pointer in adapter.

1) hdd_is_legacy_connection()
2) hdd_get_tdls_connected_peer_count()

Change-Id: I29bc2b32583ecc7af26e295a6b338b4261b1ed23
CRs-Fixed: 3517800
Vinod Kumar Pirla 2 years ago
parent
commit
911af7419f

+ 3 - 3
core/hdd/inc/wlan_hdd_tdls.h

@@ -185,14 +185,14 @@ int hdd_set_tdls_offchannel(struct hdd_context *hdd_ctx,
 
 /**
  * hdd_get_tdls_connected_peer_count() - Gets connected TDLS peer count.
- * @adapter: Pointer to adapter
+ * @link_info: Pointer to link_info in hdd adapter
  *
  * This function return number of connected peer.
  *
  * Return: void
  */
 uint16_t
-hdd_get_tdls_connected_peer_count(struct hdd_adapter *adapter);
+hdd_get_tdls_connected_peer_count(struct wlan_hdd_link_info *link_info);
 
 /**
  * hdd_check_and_set_tdls_conn_params() - Sets and Overwrite netdev params if
@@ -336,7 +336,7 @@ static inline void hdd_config_tdls_with_band_switch(struct hdd_context *hdd_ctx)
 }
 
 static inline uint16_t
-hdd_get_tdls_connected_peer_count(struct hdd_adapter *adapter)
+hdd_get_tdls_connected_peer_count(struct wlan_hdd_link_info *link_info)
 {
 	return 0;
 }

+ 3 - 3
core/hdd/src/wlan_hdd_cfg80211.c

@@ -26938,18 +26938,18 @@ hdd_convert_cfgdot11mode_to_80211mode(enum csr_cfgdot11mode mode)
 	}
 }
 
-bool hdd_is_legacy_connection(struct hdd_adapter *adapter)
+bool hdd_is_legacy_connection(struct wlan_hdd_link_info *link_info)
 {
 	struct hdd_station_ctx *sta_ctx;
 	int connection_mode = QCA_WLAN_802_11_MODE_INVALID;
 	enum csr_cfgdot11mode cfgmode;
 	uint16_t tdls_connected_peer;
 
-	tdls_connected_peer = hdd_get_tdls_connected_peer_count(adapter);
+	tdls_connected_peer = hdd_get_tdls_connected_peer_count(link_info);
 	if (tdls_connected_peer)
 		return false;
 
-	sta_ctx = WLAN_HDD_GET_STATION_CTX_PTR(adapter->deflink);
+	sta_ctx = WLAN_HDD_GET_STATION_CTX_PTR(link_info);
 	cfgmode = sta_ctx->conn_info.dot11mode;
 	connection_mode = hdd_convert_cfgdot11mode_to_80211mode(cfgmode);
 	if (connection_mode == QCA_WLAN_802_11_MODE_11A ||

+ 2 - 2
core/hdd/src/wlan_hdd_cfg80211.h

@@ -969,11 +969,11 @@ int hdd_set_mac_chan_width(struct hdd_adapter *adapter,
 
 /**
  * hdd_is_legacy_connection() - Is adapter connection is legacy
- * @adapter: Handle to hdd_adapter
+ * @link_info: Pointer to link_info in hdd_adapter
  *
  * Return: true if connection mode is legacy, false otherwise.
  */
-bool hdd_is_legacy_connection(struct hdd_adapter *adapter);
+bool hdd_is_legacy_connection(struct wlan_hdd_link_info *link_info);
 
 struct hdd_hostapd_state;
 

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

@@ -264,7 +264,7 @@ void hdd_cm_handle_assoc_event(struct wlan_objmgr_vdev *vdev, uint8_t *peer_mac)
  */
 static bool hdd_cm_netif_features_update_required(struct hdd_adapter *adapter)
 {
-	bool is_legacy_connection = hdd_is_legacy_connection(adapter);
+	bool is_legacy_connection = hdd_is_legacy_connection(adapter->deflink);
 
 	hdd_debug("Legacy Connection: %d, TSO_CSUM Feature Enabled:%d",
 		  is_legacy_connection, adapter->tso_csum_feature_enabled);

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

@@ -6117,7 +6117,7 @@ static netdev_features_t __hdd_fix_features(struct net_device *net_dev,
 	}
 
 	feature_tso_csum = hdd_get_tso_csum_feature_flags();
-	if (hdd_is_legacy_connection(adapter)) {
+	if (hdd_is_legacy_connection(adapter->deflink)) {
 		/* Disable checksum and TSO */
 		feature_change_req &= ~feature_tso_csum;
 		adapter->tso_csum_feature_enabled = 0;

+ 2 - 2
core/hdd/src/wlan_hdd_tdls.c

@@ -728,12 +728,12 @@ hdd_is_sta_legacy(struct wlan_hdd_link_info *link_info)
 }
 
 uint16_t
-hdd_get_tdls_connected_peer_count(struct hdd_adapter *adapter)
+hdd_get_tdls_connected_peer_count(struct wlan_hdd_link_info *link_info)
 {
 	struct wlan_objmgr_vdev *vdev;
 	uint16_t peer_count;
 
-	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);
 
 	peer_count = ucfg_get_tdls_conn_peer_count(vdev);
 	wlan_objmgr_vdev_release_ref(vdev, WLAN_OSIF_TDLS_ID);