qcacld-3.0: Check disconnect state while fetching MLO vdev_id

In wlan_cm_mlo_update_disconnecting_vdev_id(), add an extra
check of wlan_cm_is_vdev_disconnecting with
wlan_cm_get_active_req_type, to check the vdev state as well,
along with the active_cm_id flag.

Change-Id: I80d59d419555864d6c9712e0d93efce0a6c203e4
CRs-Fixed: 3262543
Tento commit je obsažen v:
Deeksha Gupta
2022-08-09 14:28:25 +05:30
odevzdal Madan Koyyalamudi
rodič 71eb93c537
revize 446d532959

Zobrazit soubor

@@ -422,6 +422,14 @@ wlan_cm_mlo_update_disconnecting_vdev_id(struct wlan_objmgr_psoc *psoc,
goto done;
}
/*
* During the link vdev disconnection the RSO stop vdev id will be of
* assoc vdev (changed during cm_handle_mlo_rso_state_change), So try
* to get the link vdev on which disconnect was actually happening i.e
* the one with active disconnecting state from the mlo links, so that
* continue disconnect is initiated on a proper vdev in connection
* manager.
*/
mlo_get_ml_vdev_list(vdev, &num_links, vdev_list);
if (!num_links) {
mlme_err("No VDEVs under vdev id: %d", *vdev_id);
@@ -437,6 +445,7 @@ wlan_cm_mlo_update_disconnecting_vdev_id(struct wlan_objmgr_psoc *psoc,
for (i = 0; i < num_links; i++) {
if (wlan_vdev_mlme_is_mlo_link_vdev(vdev_list[i]) &&
wlan_cm_is_vdev_disconnecting(vdev_list[i]) &&
wlan_cm_get_active_req_type(vdev_list[i]) ==
CM_DISCONNECT_ACTIVE) {
/*