|
@@ -531,17 +531,17 @@ QDF_STATUS mlo_enable_rso(struct wlan_objmgr_pdev *pdev,
|
|
|
|
|
|
num_partner_links = rsp->ml_parnter_info.num_partner_links;
|
|
|
|
|
|
- if (wlan_vdev_mlme_is_mlo_link_vdev(vdev) ||
|
|
|
- !num_partner_links ||
|
|
|
- num_partner_links == 1) {
|
|
|
- assoc_vdev = wlan_mlo_get_assoc_link_vdev(vdev);
|
|
|
- if (!assoc_vdev) {
|
|
|
- mlo_err("Assoc vdev is null");
|
|
|
- return QDF_STATUS_E_NULL_VALUE;
|
|
|
- }
|
|
|
- cm_roam_start_init_on_connect(pdev,
|
|
|
- wlan_vdev_get_id(assoc_vdev));
|
|
|
+ if (num_partner_links &&
|
|
|
+ (!wlan_vdev_mlme_is_mlo_link_vdev(vdev) ||
|
|
|
+ !mlo_check_if_all_links_up(vdev)))
|
|
|
+ return QDF_STATUS_SUCCESS;
|
|
|
+
|
|
|
+ assoc_vdev = wlan_mlo_get_assoc_link_vdev(vdev);
|
|
|
+ if (!assoc_vdev) {
|
|
|
+ mlo_err("Assoc vdev is null");
|
|
|
+ return QDF_STATUS_E_NULL_VALUE;
|
|
|
}
|
|
|
+ cm_roam_start_init_on_connect(pdev, wlan_vdev_get_id(assoc_vdev));
|
|
|
|
|
|
return QDF_STATUS_SUCCESS;
|
|
|
}
|