|
@@ -669,6 +669,64 @@ QDF_STATUS mlme_set_assoc_type(struct wlan_objmgr_vdev *vdev,
|
|
return QDF_STATUS_SUCCESS;
|
|
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)
|
|
enum vdev_assoc_type mlme_get_assoc_type(struct wlan_objmgr_vdev *vdev)
|
|
{
|
|
{
|
|
struct mlme_legacy_priv *mlme_priv;
|
|
struct mlme_legacy_priv *mlme_priv;
|