qcacld-3.0: Send LINK_DOWN event to CM upon MLO to legacy roaming

Host driver creates two vdev as part of initial connection.
If the connected AP supports MLO, both(sta and link) of the vdevs
would be moved to UP state.
Firmware sends roam sync indication to host when it roams to a
new AP. The event carries new AP info and the new AP could be
legacy AP. If the current AP is MLO and new(roamed) AP is non-MLO
AP, move the link vdev state to INIT as it's in UP state.

Change-Id: Idd9638ea446306b0309e5127f08e3dbc1ec9edc2
CRs-Fixed: 3106038
This commit is contained in:
Srinivas Dasari
2021-08-27 18:12:44 +05:30
committed by Madan Koyyalamudi
parent ef1131d272
commit 071e0d2559
3 changed files with 17 additions and 3 deletions

View File

@@ -3276,5 +3276,18 @@ rel_ref:
QDF_STATUS
cm_cleanup_mlo_link(struct wlan_objmgr_vdev *vdev)
{
return QDF_STATUS_SUCCESS;
QDF_STATUS status;
/* Use internal disconnect as this is for cleanup and no need
* to inform OSIF, and REASON_FW_TRIGGERED_ROAM_FAILURE will
* cleanup host without informing the FW
*/
status = wlan_cm_disconnect(vdev,
CM_INTERNAL_DISCONNECT,
REASON_FW_TRIGGERED_ROAM_FAILURE,
NULL);
if (QDF_IS_STATUS_ERROR(status))
mlme_debug("Failed to post disconnect for link vdev");
return status;
}