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
This commit is contained in:

committed by
snandini

parent
ea53232656
commit
4bfed04ab4
@@ -1946,7 +1946,7 @@ static uint8_t *wmi_add_fils_tlv(wmi_unified_t wmi_handle,
|
|||||||
erp_info->realm_len);
|
erp_info->realm_len);
|
||||||
|
|
||||||
buf_ptr += sizeof(*fils_tlv);
|
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->username_length, erp_info->next_erp_seq_num,
|
||||||
erp_info->rRk_length, erp_info->rIk_length,
|
erp_info->rRk_length, erp_info->rIk_length,
|
||||||
erp_info->realm_len);
|
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++)
|
(i < WMI_ROAM_MAX_CHANNELS)); i++)
|
||||||
roam_chan_list_array[i] = chan_list[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);
|
wmi_mtrace(WMI_ROAM_CHAN_LIST, NO_SESSION, 0);
|
||||||
status = wmi_unified_cmd_send(wmi_handle, buf,
|
status = wmi_unified_cmd_send(wmi_handle, buf,
|
||||||
len, WMI_ROAM_CHAN_LIST);
|
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))
|
if (QDF_IS_STATUS_ERROR(status))
|
||||||
goto error;
|
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->roam_scan_rssi_change_thresh,
|
||||||
rssi_change_fp->bcn_rssi_weight,
|
rssi_change_fp->bcn_rssi_weight,
|
||||||
rssi_change_fp->hirssi_delay_btw_scans);
|
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 =
|
tpCsrNeighborRoamControlInfo ngbr_roam_info =
|
||||||
&mac->roam.neighborRoamInfo[session_id];
|
&mac->roam.neighborRoamInfo[session_id];
|
||||||
|
struct cm_roam_values_copy src_cfg;
|
||||||
struct csr_roam_session *session = &mac->roam.roamSession[session_id];
|
struct csr_roam_session *session = &mac->roam.roamSession[session_id];
|
||||||
int init_ft_flag = false;
|
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->currentRoamBeaconRssiWeight =
|
||||||
ngbr_roam_info->cfgParams.nRoamBeaconRssiWeight;
|
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
|
* Now we can clear the preauthDone that
|
||||||
* was saved as we are connected afresh
|
* 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;
|
QDF_STATUS status;
|
||||||
tCsrChannelInfo *specific_chan_info;
|
tCsrChannelInfo *specific_chan_info;
|
||||||
struct cm_roam_values_copy src_cfg;
|
|
||||||
tpCsrNeighborRoamControlInfo pNeighborRoamInfo =
|
tpCsrNeighborRoamControlInfo pNeighborRoamInfo =
|
||||||
&mac->roam.neighborRoamInfo[sessionId];
|
&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;
|
mac->mlme_cfg->lfr.opportunistic_scan_threshold_diff;
|
||||||
pNeighborRoamInfo->cfgParams.nRoamRescanRssiDiff =
|
pNeighborRoamInfo->cfgParams.nRoamRescanRssiDiff =
|
||||||
mac->mlme_cfg->lfr.roam_rescan_rssi_diff;
|
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 =
|
pNeighborRoamInfo->cfgParams.nRoamBmissFirstBcnt =
|
||||||
mac->mlme_cfg->lfr.roam_bmiss_first_bcnt;
|
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 =
|
pNeighborRoamInfo->cfgParams.nRoamBeaconRssiWeight =
|
||||||
mac->mlme_cfg->lfr.roam_beacon_rssi_weight;
|
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 =
|
pNeighborRoamInfo->cfgParams.neighborScanPeriod =
|
||||||
mac->mlme_cfg->lfr.neighbor_scan_timer_period;
|
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 =
|
pNeighborRoamInfo->cfgParams.hi_rssi_scan_delay =
|
||||||
mac->mlme_cfg->lfr.roam_scan_hi_rssi_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 =
|
pNeighborRoamInfo->cfgParams.hi_rssi_scan_rssi_ub =
|
||||||
mac->mlme_cfg->lfr.roam_scan_hi_rssi_ub;
|
mac->mlme_cfg->lfr.roam_scan_hi_rssi_ub;
|
||||||
|
Reference in New Issue
Block a user