qcacmn: Add mlo peer check in validating disconnect

In case of handling disconnect while sta is connected, if previous
connection is non-ml and a new connect is received with ml
connection then disconnect request is getting ignored.
Fix to add mlo peer check in validating disconnect

Change-Id: I037854f2b4f16e17b8cc75d8a27f5806ed5f783a
CRs-Fixed: 3387398
Этот коммит содержится в:
Himanshu Batra
2023-01-27 16:52:46 +05:30
коммит произвёл Madan Koyyalamudi
родитель 8b08576fda
Коммит 110b8dfe15

Просмотреть файл

@@ -34,6 +34,7 @@
#include <qdf_time.h>
#include <wlan_objmgr_peer_obj.h>
#include <wlan_scan_api.h>
#include <wlan_mlo_mgr_peer.h>
#ifdef WLAN_FEATURE_11BE_MLO
static QDF_STATUS mlo_disconnect_req(struct wlan_objmgr_vdev *vdev,
@@ -391,7 +392,9 @@ mlo_validate_disconn_req(struct wlan_objmgr_vdev *vdev,
return QDF_STATUS_E_BUSY;
} else if (wlan_cm_is_vdev_connected(mlo_dev->wlan_vdev_list[i]) &&
!wlan_vdev_mlme_is_mlo_link_vdev(
mlo_dev->wlan_vdev_list[i])) {
mlo_dev->wlan_vdev_list[i]) &&
wlan_peer_is_mlo(wlan_vdev_get_bsspeer(
mlo_dev->wlan_vdev_list[i]))) {
/* If the vdev is moved to connected state but
* MLO mgr is not yet notified, defer disconnect
* as it can cause race between connect complete