Переглянути джерело

qcacld-3.0: Use link info in wlan_hdd_flush_pmksa_cache()

Modify the wlan_hdd_flush_pmksa_cache() function prototype
to use link info pointer instead of adapter.

As VDEV is part of per link data structure in adapter, the
API will only need link info to get VDEV reference, so move
the function argument to link info from adapter.
The existing callers moved to deflink.

Change-Id: Ifbe6f1f2437b3ee83144247ec2f2e1b4a71e11ca
CRs-Fixed: 3448503
Vinod Kumar Pirla 2 роки тому
батько
коміт
4733bee447

+ 8 - 7
core/hdd/src/wlan_hdd_cfg80211.c

@@ -23722,18 +23722,21 @@ static QDF_STATUS wlan_hdd_del_pmksa_cache(struct hdd_adapter *adapter,
 	return result;
 }
 
-QDF_STATUS wlan_hdd_flush_pmksa_cache(struct hdd_adapter *adapter)
+QDF_STATUS wlan_hdd_flush_pmksa_cache(struct wlan_hdd_link_info *link_info)
 {
 	QDF_STATUS result;
 	struct wlan_objmgr_vdev *vdev;
 
-	vdev = hdd_objmgr_get_vdev_by_user(adapter->deflink, WLAN_OSIF_ID);
+	vdev = hdd_objmgr_get_vdev_by_user(link_info, WLAN_OSIF_ID);
 	if (!vdev)
 		return QDF_STATUS_E_FAILURE;
 
 	result = wlan_crypto_set_del_pmksa(vdev, NULL, false);
 	hdd_objmgr_put_vdev_by_user(vdev, WLAN_OSIF_ID);
 
+	if (QDF_IS_STATUS_ERROR(result))
+		hdd_debug("Cannot flush PMKIDCache");
+
 	return result;
 }
 
@@ -24086,13 +24089,11 @@ static int __wlan_hdd_cfg80211_flush_pmksa(struct wiphy *wiphy,
 	if (errno)
 		return errno;
 
-	status = wlan_hdd_flush_pmksa_cache(adapter);
-	if (status == QDF_STATUS_E_NOSUPPORT) {
+	status = wlan_hdd_flush_pmksa_cache(adapter->deflink);
+	if (status == QDF_STATUS_E_NOSUPPORT)
 		errno = -EOPNOTSUPP;
-	} else if (QDF_IS_STATUS_ERROR(status)) {
-		hdd_err("Cannot flush PMKIDCache");
+	else if (QDF_IS_STATUS_ERROR(status))
 		errno = -EINVAL;
-	}
 
 	sme_set_del_pmkid_cache(hdd_ctx->psoc, adapter->deflink->vdev_id,
 				NULL, false);

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

@@ -33,6 +33,7 @@
 #include <wlan_cfg80211_spectral.h>
 
 struct hdd_context;
+struct wlan_hdd_link_info;
 
 #ifdef WLAN_FEATURE_11BE_MLO
 #define EHT_OPMODE_SUPPORTED 2
@@ -729,11 +730,11 @@ void wlan_hdd_save_gtk_offload_params(struct hdd_adapter *adapter,
 
 /**
  * wlan_hdd_flush_pmksa_cache() - flush pmksa cache for adapter
- * @adapter: Adapter context
+ * @link_info: link_info pointer in adapter
  *
  * Return: qdf status
  */
-QDF_STATUS wlan_hdd_flush_pmksa_cache(struct hdd_adapter *adapter);
+QDF_STATUS wlan_hdd_flush_pmksa_cache(struct wlan_hdd_link_info *link_info);
 
 /*
  * wlan_hdd_send_mode_change_event() - API to send hw mode change event to

+ 1 - 3
core/hdd/src/wlan_hdd_hostapd.c

@@ -6981,9 +6981,7 @@ static int __wlan_hdd_cfg80211_stop_ap(struct wiphy *wiphy,
 	if (adapter->device_mode == QDF_SAP_MODE) {
 		wlan_hdd_del_station(adapter, NULL);
 		mac_handle = hdd_ctx->mac_handle;
-		status = wlan_hdd_flush_pmksa_cache(adapter);
-		if (QDF_IS_STATUS_ERROR(status))
-			hdd_debug("Cannot flush PMKIDCache");
+		status = wlan_hdd_flush_pmksa_cache(adapter->deflink);
 	}
 
 	cds_flush_work(&adapter->sap_stop_bss_work);

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

@@ -8515,9 +8515,7 @@ QDF_STATUS hdd_stop_adapter_ext(struct hdd_context *hdd_ctx,
 		wlan_hdd_scan_abort(adapter);
 		wlan_hdd_cleanup_actionframe(adapter);
 		wlan_hdd_cleanup_remain_on_channel_ctx(adapter);
-		status = wlan_hdd_flush_pmksa_cache(adapter);
-		if (QDF_IS_STATUS_ERROR(status))
-			hdd_debug("Cannot flush PMKIDCache");
+		status = wlan_hdd_flush_pmksa_cache(adapter->deflink);
 
 		hdd_deregister_hl_netdev_fc_timer(adapter);
 
@@ -8595,9 +8593,7 @@ QDF_STATUS hdd_stop_adapter_ext(struct hdd_context *hdd_ctx,
 			if (wlan_hdd_del_station(adapter, NULL))
 				hdd_sap_indicate_disconnect_for_sta(adapter);
 		}
-		status = wlan_hdd_flush_pmksa_cache(adapter);
-		if (QDF_IS_STATUS_ERROR(status))
-			hdd_debug("Cannot flush PMKIDCache");
+		status = wlan_hdd_flush_pmksa_cache(adapter->deflink);
 
 		sap_config = &adapter->deflink->session.ap.sap_config;
 		wlansap_reset_sap_config_add_ie(sap_config, eUPDATE_IE_ALL);