|
@@ -48,6 +48,7 @@
|
|
|
#include "wlan_mlo_mgr_roam.h"
|
|
|
#include "wlan_vdev_mgr_utils_api.h"
|
|
|
#include "wlan_mlo_link_force.h"
|
|
|
+#include <wlan_psoc_mlme_api.h>
|
|
|
|
|
|
QDF_STATUS cm_fw_roam_sync_req(struct wlan_objmgr_psoc *psoc, uint8_t vdev_id,
|
|
|
void *event, uint32_t event_data_len)
|
|
@@ -998,6 +999,7 @@ cm_fw_roam_sync_propagation(struct wlan_objmgr_psoc *psoc, uint8_t vdev_id,
|
|
|
wlan_cm_id cm_id;
|
|
|
struct wlan_objmgr_pdev *pdev;
|
|
|
struct wlan_cm_connect_resp *connect_rsp;
|
|
|
+ bool eht_capab = false;
|
|
|
|
|
|
vdev = wlan_objmgr_get_vdev_by_id_from_psoc(psoc, vdev_id,
|
|
|
WLAN_MLME_SB_ID);
|
|
@@ -1114,7 +1116,20 @@ cm_fw_roam_sync_propagation(struct wlan_objmgr_psoc *psoc, uint8_t vdev_id,
|
|
|
mlo_roam_copy_reassoc_rsp(vdev, connect_rsp);
|
|
|
mlme_debug(CM_PREFIX_FMT, CM_PREFIX_REF(vdev_id, cm_id));
|
|
|
cm_remove_cmd(cm_ctx, &cm_id);
|
|
|
- status = QDF_STATUS_SUCCESS;
|
|
|
+
|
|
|
+ wlan_psoc_mlme_get_11be_capab(psoc, &eht_capab);
|
|
|
+ if (eht_capab) {
|
|
|
+ status = policy_mgr_current_connections_update(
|
|
|
+ psoc, vdev_id,
|
|
|
+ connect_rsp->freq,
|
|
|
+ POLICY_MGR_UPDATE_REASON_LFR3_ROAM,
|
|
|
+ POLICY_MGR_DEF_REQ_ID);
|
|
|
+ if (status == QDF_STATUS_E_NOSUPPORT)
|
|
|
+ status = QDF_STATUS_SUCCESS;
|
|
|
+ else if (status == QDF_STATUS_E_FAILURE)
|
|
|
+ mlme_err("Failed to take next action LFR3_ROAM");
|
|
|
+ }
|
|
|
+
|
|
|
error:
|
|
|
if (rsp)
|
|
|
wlan_cm_free_connect_rsp(rsp);
|