|
@@ -226,3 +226,25 @@ int hdd_remove_peer_object(struct wlan_objmgr_vdev *vdev,
|
|
|
|
|
|
return -EINVAL;
|
|
|
}
|
|
|
+
|
|
|
+int hdd_set_peer_mlme_state(struct wlan_objmgr_vdev *vdev,
|
|
|
+ enum wlan_peer_state peer_state)
|
|
|
+{
|
|
|
+ struct wlan_objmgr_peer *peer;
|
|
|
+
|
|
|
+ wlan_vdev_obj_lock(vdev);
|
|
|
+ peer = wlan_vdev_get_bsspeer(vdev);
|
|
|
+ wlan_vdev_obj_unlock(vdev);
|
|
|
+
|
|
|
+ if (peer) {
|
|
|
+ wlan_peer_obj_lock(peer);
|
|
|
+ wlan_peer_mlme_set_state(peer, WLAN_ASSOC_STATE);
|
|
|
+ wlan_peer_obj_unlock(peer);
|
|
|
+ return 0;
|
|
|
+ } else {
|
|
|
+ hdd_err("peer is null");
|
|
|
+ return -EINVAL;
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+
|