From 13130ebe99f2ae0926a4c72e0fbf96a040297453 Mon Sep 17 00:00:00 2001 From: Pragaspathi Thilagaraj Date: Wed, 12 Dec 2018 18:32:46 +0530 Subject: [PATCH] qcacmn: Add rct_validity_timer and disassoc_timer to wmi roam structures Two new WCNSS_qcom.ini values "btm_validity_timer" and "disassoc_timer" are introduced. These values are sent to firmware over the structures wmi_roam_offload_tlv_param and wmi_btm_config_fixed_param respectively. The values to this structure are populated from struct roam_offload_scan_params. Add rct_validity_timer in roam_offload_scan_params. Populate these values from roam request to the structure roam_offload_scan_params to be sent over the wmi command. Change-Id: I6130e9966d520169b0f74b9726d35aa4fef6d81d CRs-Fixed: 2369040 --- wmi/inc/wmi_unified_param.h | 3 +++ wmi/inc/wmi_unified_roam_param.h | 3 +++ wmi/src/wmi_unified_roam_tlv.c | 3 +++ 3 files changed, 9 insertions(+) diff --git a/wmi/inc/wmi_unified_param.h b/wmi/inc/wmi_unified_param.h index 649a1c29b4ca..ff139fe5637f 100644 --- a/wmi/inc/wmi_unified_param.h +++ b/wmi/inc/wmi_unified_param.h @@ -1915,6 +1915,8 @@ struct roam_fils_params { * @assoc_ie: Assoc IE buffer * @add_fils_tlv: add FILS TLV boolean * @roam_fils_params: roam fils params + * @rct_validity_timer: duration value for which the entries in + * roam candidate table are valid */ struct roam_offload_scan_params { uint8_t is_roam_req_valid; @@ -1936,6 +1938,7 @@ struct roam_offload_scan_params { int auth_mode; bool fw_okc; bool fw_pmksa_cache; + uint32_t rct_validity_timer; #endif uint32_t min_delay_btw_roam_scans; uint32_t roam_trigger_reason_bitmask; diff --git a/wmi/inc/wmi_unified_roam_param.h b/wmi/inc/wmi_unified_roam_param.h index ce7921ab7b38..89c65cdbc706 100644 --- a/wmi/inc/wmi_unified_roam_param.h +++ b/wmi/inc/wmi_unified_roam_param.h @@ -515,6 +515,8 @@ struct hlp_params { * @btm_solicited_timeout: Timeout value for waiting BTM request * @btm_max_attempt_cnt: Maximum attempt for sending BTM query to ESS * @btm_sticky_time: Stick time after roaming to new AP by BTM + * @disassoc_timer_threshold: threshold value till which the firmware can + * wait before triggering the roam scan after receiving the disassoc iminent */ struct wmi_btm_config { uint8_t vdev_id; @@ -522,6 +524,7 @@ struct wmi_btm_config { uint32_t btm_solicited_timeout; uint32_t btm_max_attempt_cnt; uint32_t btm_sticky_time; + uint32_t disassoc_timer_threshold; }; /** diff --git a/wmi/src/wmi_unified_roam_tlv.c b/wmi/src/wmi_unified_roam_tlv.c index 784066d922d0..337656615077 100644 --- a/wmi/src/wmi_unified_roam_tlv.c +++ b/wmi/src/wmi_unified_roam_tlv.c @@ -1155,6 +1155,8 @@ static QDF_STATUS send_roam_scan_offload_mode_cmd_tlv(wmi_unified_t wmi_handle, req_offload_params->roam_preauth_no_ack_timeout; roam_offload_params->reassoc_failure_timeout = roam_req->reassoc_failure_timeout; + roam_offload_params->roam_candidate_validity_time = + roam_req->rct_validity_timer; /* Fill the capabilities */ roam_offload_params->capability = @@ -2033,6 +2035,7 @@ static QDF_STATUS send_btm_config_cmd_tlv(wmi_unified_t wmi_handle, cmd->max_attempt_cnt = params->btm_max_attempt_cnt; cmd->solicited_timeout_ms = params->btm_solicited_timeout; cmd->stick_time_seconds = params->btm_sticky_time; + cmd->disassoc_timer_threshold = params->disassoc_timer_threshold; wmi_mtrace(WMI_ROAM_BTM_CONFIG_CMDID, cmd->vdev_id, 0); if (wmi_unified_cmd_send(wmi_handle, buf, len,