qcacld-3.0: Fix RSSI_CHANGE command values

Move the rssi change vdev params initialization to
csr_neighbor_roam_info_ctx_init() so that vdev priv object will
be created and per vdev parameters are saved and proper values
are sent to firmware.

Change-Id: I87c8272d89f431fa3db60beed4d1da6d9790ec28
CRs-Fixed: 2774826
这个提交包含在:
Pragaspathi Thilagaraj
2020-09-11 02:00:23 +05:30
提交者 snandini
父节点 ea53232656
当前提交 4bfed04ab4
修改 2 个文件,包含 20 行新增12 行删除

查看文件

@@ -1946,7 +1946,7 @@ static uint8_t *wmi_add_fils_tlv(wmi_unified_t wmi_handle,
erp_info->realm_len);
buf_ptr += sizeof(*fils_tlv);
wmi_debug("RSO_CONFIG: ERP: usrname_len:%d next_erp_seq_num:%d rRk_len:%d rIk_len:%d realm_len:%d",
wmi_debug("RSO_CFG: ERP: usrname_len:%d next_erp_seq_num:%d rRk_len:%d rIk_len:%d realm_len:%d",
erp_info->username_length, erp_info->next_erp_seq_num,
erp_info->rRk_length, erp_info->rIk_length,
erp_info->realm_len);
@@ -3282,6 +3282,9 @@ static QDF_STATUS send_roam_scan_offload_chan_list_cmd_tlv(
(i < WMI_ROAM_MAX_CHANNELS)); i++)
roam_chan_list_array[i] = chan_list[i];
wmi_debug("RSO_CFG: vdev:%d num_chan:%d cache_type:%d",
chan_list_fp->vdev_id, chan_list_fp->num_chan,
rso_ch_info->chan_cache_type);
wmi_mtrace(WMI_ROAM_CHAN_LIST, NO_SESSION, 0);
status = wmi_unified_cmd_send(wmi_handle, buf,
len, WMI_ROAM_CHAN_LIST);
@@ -3417,7 +3420,7 @@ static QDF_STATUS send_roam_scan_offload_rssi_change_cmd_tlv(
if (QDF_IS_STATUS_ERROR(status))
goto error;
wmi_nofl_debug("RSO_PARAM: rssi_change_thresh:%d bcn_rssi_weight:%d hirssi_delay_btw_scans:%d",
wmi_nofl_debug("RSO_CFG: rssi_change_thresh:%d bcn_rssi_weight:%d hirssi_delay_btw_scans:%d",
rssi_change_fp->roam_scan_rssi_change_thresh,
rssi_change_fp->bcn_rssi_weight,
rssi_change_fp->hirssi_delay_btw_scans);

查看文件

@@ -799,6 +799,7 @@ static void csr_neighbor_roam_info_ctx_init(struct mac_context *mac,
{
tpCsrNeighborRoamControlInfo ngbr_roam_info =
&mac->roam.neighborRoamInfo[session_id];
struct cm_roam_values_copy src_cfg;
struct csr_roam_session *session = &mac->roam.roamSession[session_id];
int init_ft_flag = false;
@@ -823,6 +824,20 @@ static void csr_neighbor_roam_info_ctx_init(struct mac_context *mac,
ngbr_roam_info->currentRoamBeaconRssiWeight =
ngbr_roam_info->cfgParams.nRoamBeaconRssiWeight;
/*
* Update RSSI change params to vdev
*/
src_cfg.uint_value = mac->mlme_cfg->lfr.roam_rescan_rssi_diff;
wlan_cm_roam_cfg_set_value(mac->psoc, session_id,
RSSI_CHANGE_THRESHOLD, &src_cfg);
src_cfg.uint_value = mac->mlme_cfg->lfr.roam_beacon_rssi_weight;
wlan_cm_roam_cfg_set_value(mac->psoc, session_id,
BEACON_RSSI_WEIGHT, &src_cfg);
src_cfg.uint_value = mac->mlme_cfg->lfr.roam_scan_hi_rssi_delay;
wlan_cm_roam_cfg_set_value(mac->psoc, session_id,
HI_RSSI_DELAY_BTW_SCANS, &src_cfg);
/*
* Now we can clear the preauthDone that
* was saved as we are connected afresh
@@ -1037,7 +1052,6 @@ QDF_STATUS csr_neighbor_roam_init(struct mac_context *mac, uint8_t sessionId)
{
QDF_STATUS status;
tCsrChannelInfo *specific_chan_info;
struct cm_roam_values_copy src_cfg;
tpCsrNeighborRoamControlInfo pNeighborRoamInfo =
&mac->roam.neighborRoamInfo[sessionId];
@@ -1058,9 +1072,6 @@ QDF_STATUS csr_neighbor_roam_init(struct mac_context *mac, uint8_t sessionId)
mac->mlme_cfg->lfr.opportunistic_scan_threshold_diff;
pNeighborRoamInfo->cfgParams.nRoamRescanRssiDiff =
mac->mlme_cfg->lfr.roam_rescan_rssi_diff;
src_cfg.uint_value = mac->mlme_cfg->lfr.roam_rescan_rssi_diff;
wlan_cm_roam_cfg_set_value(mac->psoc, sessionId,
RSSI_CHANGE_THRESHOLD, &src_cfg);
pNeighborRoamInfo->cfgParams.nRoamBmissFirstBcnt =
mac->mlme_cfg->lfr.roam_bmiss_first_bcnt;
@@ -1069,9 +1080,6 @@ QDF_STATUS csr_neighbor_roam_init(struct mac_context *mac, uint8_t sessionId)
pNeighborRoamInfo->cfgParams.nRoamBeaconRssiWeight =
mac->mlme_cfg->lfr.roam_beacon_rssi_weight;
src_cfg.uint_value = mac->mlme_cfg->lfr.roam_beacon_rssi_weight;
wlan_cm_roam_cfg_set_value(mac->psoc, sessionId,
BEACON_RSSI_WEIGHT, &src_cfg);
pNeighborRoamInfo->cfgParams.neighborScanPeriod =
mac->mlme_cfg->lfr.neighbor_scan_timer_period;
@@ -1127,9 +1135,6 @@ QDF_STATUS csr_neighbor_roam_init(struct mac_context *mac, uint8_t sessionId)
pNeighborRoamInfo->cfgParams.hi_rssi_scan_delay =
mac->mlme_cfg->lfr.roam_scan_hi_rssi_delay;
src_cfg.uint_value = mac->mlme_cfg->lfr.roam_scan_hi_rssi_delay;
wlan_cm_roam_cfg_set_value(mac->psoc, sessionId,
HI_RSSI_DELAY_BTW_SCANS, &src_cfg);
pNeighborRoamInfo->cfgParams.hi_rssi_scan_rssi_ub =
mac->mlme_cfg->lfr.roam_scan_hi_rssi_ub;