qcacld-3.0: Fix bss peer delete if roam to SLO with EAPOL offloaded

If roaming to Multi-link AP but get auth status 1 (connected) from FW,
driver will make it as single link roaming. The link vdev roam
sync will be skipped. The wma_roam_update_vdev API doesn't
check such condition and lost the peer deletion of the old AP.

Fix by check single link roaming with API mlo_get_single_link_ml_roaming
to consider such condition.

Change-Id: Ia69333e8249c4a868554f8fd9a99340fde9257b0
CRs-Fixed: 3448269
This commit is contained in:
Liangwei Dong
2023-03-29 18:13:03 +08:00
committed by Madan Koyyalamudi
parent ea85a67f03
commit 05eb2f3263

View File

@@ -688,7 +688,7 @@ wma_roam_update_vdev(tp_wma_handle wma,
*/ */
if (is_multi_link_roam(roam_synch_ind_ptr)) { if (is_multi_link_roam(roam_synch_ind_ptr)) {
if (wlan_vdev_mlme_get_is_mlo_link(wma->psoc, vdev_id) || if (wlan_vdev_mlme_get_is_mlo_link(wma->psoc, vdev_id) ||
mlo_roam_get_num_of_setup_links(roam_synch_ind_ptr) == 1) { mlo_get_single_link_ml_roaming(wma->psoc, vdev_id)) {
status = wma_delete_all_peers(wma, vdev_id); status = wma_delete_all_peers(wma, vdev_id);
if (QDF_IS_STATUS_ERROR(status)) if (QDF_IS_STATUS_ERROR(status))
goto end; goto end;