From 247596b04b681d5870099aae4f2dcc1ff627b698 Mon Sep 17 00:00:00 2001 From: Abhinav Kumar Date: Fri, 24 Jul 2020 22:20:26 +0530 Subject: [PATCH] qcacld-3.0: Send value of INI "roam_score_delta" to FW As per requirement, send a value of an INI "roam_score_delta" to FW through WMI_ROAM_ENABLE_DISABLE_TRIGGER_REASON_CMDID. Change-Id: I9a2087f83c2eb95338d440dc901bd8aa246f7e5f CRs-Fixed: 2740552 --- .../connection_mgr/dispatcher/inc/wlan_cm_roam_public_srtuct.h | 3 +++ components/wmi/src/wmi_unified_roam_tlv.c | 3 ++- core/sme/src/csr/csr_api_roam.c | 3 +++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/components/umac/mlme/connection_mgr/dispatcher/inc/wlan_cm_roam_public_srtuct.h b/components/umac/mlme/connection_mgr/dispatcher/inc/wlan_cm_roam_public_srtuct.h index 2f369c15b120..f3be54820718 100644 --- a/components/umac/mlme/connection_mgr/dispatcher/inc/wlan_cm_roam_public_srtuct.h +++ b/components/umac/mlme/connection_mgr/dispatcher/inc/wlan_cm_roam_public_srtuct.h @@ -140,11 +140,14 @@ struct wlan_cm_roam_vendor_btm_params { * @vdev_id: vdev id * @trigger_bitmap: vendor configured roam trigger bitmap as * defined @enum roam_control_trigger_reason + * @roam_score_delta: Value of roam score delta + * percentage to trigger roam * @control_param: roam trigger param */ struct wlan_roam_triggers { uint32_t vdev_id; uint32_t trigger_bitmap; + uint32_t roam_score_delta; struct wlan_cm_roam_vendor_btm_params vendor_btm_param; }; diff --git a/components/wmi/src/wmi_unified_roam_tlv.c b/components/wmi/src/wmi_unified_roam_tlv.c index a6dc991bd0df..792628eb2cc2 100644 --- a/components/wmi/src/wmi_unified_roam_tlv.c +++ b/components/wmi/src/wmi_unified_roam_tlv.c @@ -1386,7 +1386,8 @@ static QDF_STATUS send_set_roam_trigger_cmd_tlv(wmi_unified_t wmi_handle, triggers->vendor_btm_param.connected_rssi_threshold; roam_trigger_parameters->cand_ap_min_rssi_threshold = triggers->vendor_btm_param.candidate_rssi_threshold; - roam_trigger_parameters->roam_score_delta_percentage = 0; + roam_trigger_parameters->roam_score_delta_percentage = + triggers->roam_score_delta; roam_trigger_parameters->reason_code = triggers->vendor_btm_param.user_roam_reason; diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c index 5afeb7f6ebbc..7f2d50bc06aa 100644 --- a/core/sme/src/csr/csr_api_roam.c +++ b/core/sme/src/csr/csr_api_roam.c @@ -16832,6 +16832,9 @@ csr_update_roam_scan_offload_request(struct mac_context *mac_ctx, req_buf->roam_triggers.vdev_id = session->vdev_id; req_buf->roam_triggers.trigger_bitmap = mlme_get_roam_trigger_bitmap(mac_ctx->psoc, session->vdev_id); + req_buf->roam_triggers.roam_score_delta = + mac_ctx->mlme_cfg->roam_scoring.roam_score_delta; + req_buf->RoamKeyMgmtOffloadEnabled = session->RoamKeyMgmtOffloadEnabled; req_buf->pmkid_modes.fw_okc = (pmkid_modes & CFG_PMKID_MODES_OKC) ? 1 : 0;