Browse Source

qcacld-3.0: Clean up struct del_bss_params

As a part of vdev convergence, legacy vdev code for vdev delete/stop/
down is removed. WMA timer for vdev manager operations are deleted,
now target_if takes care of it.

Structure del_bss_params is no more used to store bss delete request
params, hence struct del_bss_params is cleaned up from legacy code.

Change-Id: I487d2683908b705176ff8064dd3ce7cd49a3ce47
CRs-Fixed: 2517880
Abhishek Ambure 5 years ago
parent
commit
7b3da57fe6

+ 2 - 0
mlme/core/inc/wlan_mlme_main.h

@@ -90,6 +90,7 @@ enum vdev_assoc_type {
  *			 originated from driver
  * @peer_disconnect_ies: Disconnect IEs received in deauth/disassoc frames
  *			 from peer
+ * @vdev_stop_type: vdev stop type request
  */
 struct mlme_legacy_priv {
 	bool chan_switch_in_progress;
@@ -104,6 +105,7 @@ struct mlme_legacy_priv {
 	struct mlme_roam_after_data_stall roam_invoke_params;
 	struct wlan_ies self_disconnect_ies;
 	struct wlan_ies peer_disconnect_ies;
+	uint32_t vdev_stop_type;
 };
 
 #ifndef CRYPTO_SET_KEY_CONVERGED

+ 37 - 0
mlme/core/inc/wlan_mlme_vdev_mgr_interface.h

@@ -187,6 +187,43 @@ bool mlme_is_vdev_in_beaconning_mode(enum QDF_OPMODE vdev_opmode);
 QDF_STATUS mlme_set_assoc_type(struct wlan_objmgr_vdev *vdev,
 			       enum vdev_assoc_type assoc_type);
 
+/**
+ * mlme_get_vdev_bss_peer_mac_addr() - to get peer mac address
+ * @vdev: pointer to vdev
+ * @bss_peer_mac_address: pointer to bss_peer_mac_address
+ *
+ * This API is used to get mac address of peer.
+ *
+ * Return: QDF_STATUS based on overall success
+ */
+QDF_STATUS mlme_get_vdev_bss_peer_mac_addr(
+		struct wlan_objmgr_vdev *vdev,
+		struct qdf_mac_addr *bss_peer_mac_address);
+
+/**
+ * mlme_get_vdev_stop_type() - to get vdev stop type
+ * @vdev: vdev pointer
+ * @vdev_stop_type: vdev stop type
+ *
+ * This API will get vdev stop type from mlme legacy priv.
+ *
+ * Return: QDF_STATUS
+ */
+QDF_STATUS mlme_get_vdev_stop_type(struct wlan_objmgr_vdev *vdev,
+				   uint32_t *vdev_stop_type);
+
+/**
+ * mlme_set_vdev_stop_type() - to set vdev stop type
+ * @vdev: vdev pointer
+ * @vdev_stop_type: vdev stop type
+ *
+ * This API will set vdev stop type from mlme legacy priv.
+ *
+ * Return: QDF_STATUS
+ */
+QDF_STATUS mlme_set_vdev_stop_type(struct wlan_objmgr_vdev *vdev,
+				   uint32_t vdev_stop_type);
+
 /**
  * mlme_get_assoc_type() - get associate type
  * @vdev: vdev pointer

+ 58 - 0
mlme/core/src/wlan_mlme_vdev_mgr_interface.c

@@ -669,6 +669,64 @@ QDF_STATUS mlme_set_assoc_type(struct wlan_objmgr_vdev *vdev,
 	return QDF_STATUS_SUCCESS;
 }
 
+QDF_STATUS mlme_get_vdev_bss_peer_mac_addr(
+				struct wlan_objmgr_vdev *vdev,
+				struct qdf_mac_addr *bss_peer_mac_address)
+{
+	struct wlan_objmgr_peer *peer;
+
+	if (!vdev) {
+		mlme_legacy_err("vdev is null");
+		return QDF_STATUS_E_INVAL;
+	}
+
+	peer = wlan_objmgr_vdev_try_get_bsspeer(vdev, WLAN_MLME_OBJMGR_ID);
+	if (!peer) {
+		mlme_legacy_err("peer is null");
+		return QDF_STATUS_E_INVAL;
+	}
+	wlan_peer_obj_lock(peer);
+	qdf_mem_copy(bss_peer_mac_address->bytes, wlan_peer_get_macaddr(peer),
+		     QDF_MAC_ADDR_SIZE);
+	wlan_peer_obj_unlock(peer);
+
+	wlan_objmgr_peer_release_ref(peer, WLAN_MLME_OBJMGR_ID);
+
+	return QDF_STATUS_SUCCESS;
+}
+
+QDF_STATUS mlme_get_vdev_stop_type(struct wlan_objmgr_vdev *vdev,
+				   uint32_t *vdev_stop_type)
+{
+	struct mlme_legacy_priv *mlme_priv;
+
+	mlme_priv = wlan_vdev_mlme_get_ext_hdl(vdev);
+	if (!mlme_priv) {
+		mlme_legacy_err("vdev legacy private object is NULL");
+		return QDF_STATUS_E_FAILURE;
+	}
+
+	*vdev_stop_type = mlme_priv->vdev_stop_type;
+
+	return QDF_STATUS_SUCCESS;
+}
+
+QDF_STATUS mlme_set_vdev_stop_type(struct wlan_objmgr_vdev *vdev,
+				   uint32_t vdev_stop_type)
+{
+	struct mlme_legacy_priv *mlme_priv;
+
+	mlme_priv = wlan_vdev_mlme_get_ext_hdl(vdev);
+	if (!mlme_priv) {
+		mlme_legacy_err("vdev legacy private object is NULL");
+		return QDF_STATUS_E_FAILURE;
+	}
+
+	mlme_priv->vdev_stop_type = vdev_stop_type;
+
+	return QDF_STATUS_SUCCESS;
+}
+
 enum vdev_assoc_type  mlme_get_assoc_type(struct wlan_objmgr_vdev *vdev)
 {
 	struct mlme_legacy_priv *mlme_priv;