qcacld-3.0: Cleanup NCHO commands

Aggregate all the handlers of NCHO configration update
commands into a single routine

CRs-Fixed: 1007810
Change-Id: I9722dbead499f14f3969a85a20baf74aa03efff2
This commit is contained in:
Varun Reddy Yeturu 2016-04-20 12:26:11 -07:00 • committed by Gerrit - the friendly Code Review server
commit ff4feb0a0e
3 changed files with 96 additions and 389 deletions

View file

@ -265,23 +265,10 @@ static inline bool csr_neighbor_roam_is_handoff_in_progress(tpAniSirGlobal pMac,
}
#endif
bool csr_neighbor_middle_of_roaming(tpAniSirGlobal pMac, uint8_t sessionId);
QDF_STATUS csr_neighbor_roam_set_lookup_rssi_threshold(tpAniSirGlobal pMac,
uint8_t sessionId, uint8_t neighborLookupRssiThreshold);
QDF_STATUS csr_neighbor_roam_set_opportunistic_scan_threshold_diff(
tpAniSirGlobal pMac, uint8_t sessionId,
uint8_t nOpportunisticThresholdDiff);
QDF_STATUS csr_neighbor_roam_set_roam_rescan_rssi_diff(tpAniSirGlobal pMac,
uint8_t sessionId, uint8_t nRoamRescanRssiDiff);
QDF_STATUS csr_neighbor_roam_set_roam_bmiss_first_bcnt(tpAniSirGlobal pMac,
uint8_t sessionId, uint8_t nRoamBmissFirstBcnt);
QDF_STATUS csr_neighbor_roam_set_roam_bmiss_final_bcnt(tpAniSirGlobal pMac,
uint8_t sessionId, uint8_t nRoamBmissFinalBcnt);
QDF_STATUS csr_neighbor_roam_set_roam_beacon_rssi_weight(tpAniSirGlobal pMac,
uint8_t sessionId, uint8_t nRoamBeaconRssiWeight);
QDF_STATUS csr_neighbor_roam_update_config(tpAniSirGlobal mac_ctx,
uint8_t session_id, uint8_t value, uint8_t reason);
QDF_STATUS csr_neighbor_roam_update_fast_roaming_enabled(tpAniSirGlobal pMac,
uint8_t sessionId, const bool fastRoamEnabled);
QDF_STATUS csr_neighbor_roam_update_ese_mode_enabled(tpAniSirGlobal pMac,
uint8_t sessionId, const bool eseMode);
QDF_STATUS csr_neighbor_roam_channels_filter_by_current_band(
tpAniSirGlobal pMac, uint8_t sessionId,
uint8_t *pInputChannelList,

View file

@ -1937,8 +1937,8 @@ QDF_STATUS sme_update_is_ese_feature_enabled(tHalHandle hHal,
pMac->roam.configParam.isEseIniFeatureEnabled,
isEseIniFeatureEnabled);
pMac->roam.configParam.isEseIniFeatureEnabled = isEseIniFeatureEnabled;
csr_neighbor_roam_update_ese_mode_enabled(pMac, sessionId,
isEseIniFeatureEnabled);
csr_neighbor_roam_update_fast_roaming_enabled(
pMac, sessionId, isEseIniFeatureEnabled);
if (true == isEseIniFeatureEnabled)
sme_update_fast_transition_enabled(hHal, true);
@ -8837,19 +8837,10 @@ QDF_STATUS sme_set_roam_opportunistic_scan_threshold_diff(tHalHandle hHal,
status = sme_acquire_global_lock(&pMac->sme);
if (QDF_IS_STATUS_SUCCESS(status)) {
status = csr_neighbor_roam_set_opportunistic_scan_threshold_diff(pMac,
sessionId,
nOpportunisticThresholdDiff);
status = csr_neighbor_roam_update_config(pMac, sessionId,
nOpportunisticThresholdDiff,
REASON_OPPORTUNISTIC_THRESH_DIFF_CHANGED);
if (QDF_IS_STATUS_SUCCESS(status)) {
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
"LFR runtime successfully set "
"opportunistic threshold diff to %d"
" - old value is %d - roam state is %d",
nOpportunisticThresholdDiff,
pMac->roam.configParam.neighborRoamConfig.
nOpportunisticThresholdDiff,
pMac->roam.neighborRoamInfo[sessionId].
neighborRoamState);
pMac->roam.configParam.neighborRoamConfig.
nOpportunisticThresholdDiff =
nOpportunisticThresholdDiff;
@ -8895,18 +8886,10 @@ QDF_STATUS sme_set_roam_rescan_rssi_diff(tHalHandle hHal,
status = sme_acquire_global_lock(&pMac->sme);
if (QDF_IS_STATUS_SUCCESS(status)) {
status = csr_neighbor_roam_set_roam_rescan_rssi_diff(pMac, sessionId,
nRoamRescanRssiDiff);
status = csr_neighbor_roam_update_config(pMac, sessionId,
nRoamRescanRssiDiff,
REASON_ROAM_RESCAN_RSSI_DIFF_CHANGED);
if (QDF_IS_STATUS_SUCCESS(status)) {
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
"LFR runtime successfully set "
"opportunistic threshold diff to %d"
" - old value is %d - roam state is %d",
nRoamRescanRssiDiff,
pMac->roam.configParam.neighborRoamConfig.
nRoamRescanRssiDiff,
pMac->roam.neighborRoamInfo[sessionId].
neighborRoamState);
pMac->roam.configParam.neighborRoamConfig.
nRoamRescanRssiDiff = nRoamRescanRssiDiff;
}
@ -8950,18 +8933,10 @@ QDF_STATUS sme_set_roam_bmiss_first_bcnt(tHalHandle hHal,
status = sme_acquire_global_lock(&pMac->sme);
if (QDF_IS_STATUS_SUCCESS(status)) {
status = csr_neighbor_roam_set_roam_bmiss_first_bcnt(pMac, sessionId,
nRoamBmissFirstBcnt);
status = csr_neighbor_roam_update_config(pMac, sessionId,
nRoamBmissFirstBcnt,
REASON_ROAM_BMISS_FIRST_BCNT_CHANGED);
if (QDF_IS_STATUS_SUCCESS(status)) {
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
"LFR runtime successfully set "
"beacon miss first beacon count to %d"
" - old value is %d - roam state is %d",
nRoamBmissFirstBcnt,
pMac->roam.configParam.neighborRoamConfig.
nRoamBmissFirstBcnt,
pMac->roam.neighborRoamInfo[sessionId].
neighborRoamState);
pMac->roam.configParam.neighborRoamConfig.
nRoamBmissFirstBcnt = nRoamBmissFirstBcnt;
}
@ -9003,18 +8978,10 @@ QDF_STATUS sme_set_roam_bmiss_final_bcnt(tHalHandle hHal,
status = sme_acquire_global_lock(&pMac->sme);
if (QDF_IS_STATUS_SUCCESS(status)) {
status = csr_neighbor_roam_set_roam_bmiss_final_bcnt(pMac, sessionId,
nRoamBmissFinalBcnt);
status = csr_neighbor_roam_update_config(pMac, sessionId,
nRoamBmissFinalBcnt,
REASON_ROAM_BMISS_FINAL_BCNT_CHANGED);
if (QDF_IS_STATUS_SUCCESS(status)) {
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
"LFR runtime successfully set "
"beacon miss final beacon count to %d"
" - old value is %d - roam state is %d",
nRoamBmissFinalBcnt,
pMac->roam.configParam.neighborRoamConfig.
nRoamBmissFinalBcnt,
pMac->roam.neighborRoamInfo[sessionId].
neighborRoamState);
pMac->roam.configParam.neighborRoamConfig.
nRoamBmissFinalBcnt = nRoamBmissFinalBcnt;
}
@ -9058,18 +9025,10 @@ QDF_STATUS sme_set_roam_beacon_rssi_weight(tHalHandle hHal,
status = sme_acquire_global_lock(&pMac->sme);
if (QDF_IS_STATUS_SUCCESS(status)) {
status = csr_neighbor_roam_set_roam_beacon_rssi_weight(pMac, sessionId,
nRoamBeaconRssiWeight);
status = csr_neighbor_roam_update_config(pMac, sessionId,
nRoamBeaconRssiWeight,
REASON_ROAM_BEACON_RSSI_WEIGHT_CHANGED);
if (QDF_IS_STATUS_SUCCESS(status)) {
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
"LFR runtime successfully set "
"beacon miss final beacon count to %d"
" - old value is %d - roam state is %d",
nRoamBeaconRssiWeight,
pMac->roam.configParam.neighborRoamConfig.
nRoamBeaconRssiWeight,
pMac->roam.neighborRoamInfo[sessionId].
neighborRoamState);
pMac->roam.configParam.neighborRoamConfig.
nRoamBeaconRssiWeight = nRoamBeaconRssiWeight;
}
@ -9109,18 +9068,10 @@ QDF_STATUS sme_set_neighbor_lookup_rssi_threshold
status = sme_acquire_global_lock(&pMac->sme);
if (QDF_IS_STATUS_SUCCESS(status)) {
status = csr_neighbor_roam_set_lookup_rssi_threshold(pMac, sessionId,
neighborLookupRssiThreshold);
status = csr_neighbor_roam_update_config(pMac,
sessionId, neighborLookupRssiThreshold,
REASON_LOOKUP_THRESH_CHANGED);
if (QDF_IS_STATUS_SUCCESS(status)) {
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
"LFR runtime successfully set Lookup threshold to %d - old value is %d - roam state is %s",
neighborLookupRssiThreshold,
pMac->roam.configParam.neighborRoamConfig.
nNeighborLookupRssiThreshold,
mac_trace_get_neighbour_roam_state(pMac->roam.
neighborRoamInfo
[sessionId].
neighborRoamState));
pMac->roam.configParam.neighborRoamConfig.
nNeighborLookupRssiThreshold =
neighborLookupRssiThreshold;

View file

@ -49,6 +49,19 @@
#include "cds_concurrency.h"
#define NEIGHBOR_ROAM_DEBUG sms_log
static const char *lfr_get_config_item_string(uint8_t reason)
{
switch (reason) {
CASE_RETURN_STRING(REASON_LOOKUP_THRESH_CHANGED);
CASE_RETURN_STRING(REASON_OPPORTUNISTIC_THRESH_DIFF_CHANGED);
CASE_RETURN_STRING(REASON_ROAM_RESCAN_RSSI_DIFF_CHANGED);
CASE_RETURN_STRING(REASON_ROAM_BMISS_FIRST_BCNT_CHANGED);
CASE_RETURN_STRING(REASON_ROAM_BMISS_FINAL_BCNT_CHANGED);
CASE_RETURN_STRING(REASON_ROAM_BEACON_RSSI_WEIGHT_CHANGED);
default:
return "unknown";
}
}
static void csr_neighbor_roam_reset_channel_info(tpCsrNeighborRoamChannelInfo
rChInfo);
@ -127,8 +140,6 @@ csr_neighbor_roam_update_fast_roaming_enabled(tpAniSirGlobal pMac,
QDF_STATUS qdf_status = QDF_STATUS_SUCCESS;
tpCsrNeighborRoamControlInfo pNeighborRoamInfo =
&pMac->roam.neighborRoamInfo[sessionId];
/* set fast roam enable/disable flag */
pMac->roam.configParam.isFastRoamIniFeatureEnabled = fastRoamEnabled;
switch (pNeighborRoamInfo->neighborRoamState) {
case eCSR_NEIGHBOR_ROAM_STATE_CONNECTED:
@ -158,315 +169,73 @@ csr_neighbor_roam_update_fast_roaming_enabled(tpAniSirGlobal pMac,
}
return qdf_status;
}
#ifdef FEATURE_WLAN_ESE
QDF_STATUS csr_neighbor_roam_update_ese_mode_enabled(tpAniSirGlobal pMac,
uint8_t sessionId,
const bool eseMode)
QDF_STATUS csr_neighbor_roam_update_config(tpAniSirGlobal mac_ctx,
uint8_t session_id, uint8_t value, uint8_t reason)
{
QDF_STATUS qdf_status = QDF_STATUS_SUCCESS;
tpCsrNeighborRoamControlInfo pNeighborRoamInfo =
&pMac->roam.neighborRoamInfo[sessionId];
&mac_ctx->roam.neighborRoamInfo[session_id];
tpCsrNeighborRoamCfgParams cfg_params;
eCsrNeighborRoamState state;
uint8_t old_value;
switch (pNeighborRoamInfo->neighborRoamState) {
case eCSR_NEIGHBOR_ROAM_STATE_CONNECTED:
if (true == eseMode) {
csr_roam_offload_scan(pMac, sessionId,
ROAM_SCAN_OFFLOAD_START,
REASON_CONNECT);
} else if (false == eseMode) {
csr_roam_offload_scan(pMac, sessionId,
ROAM_SCAN_OFFLOAD_STOP,
REASON_DISCONNECTED);
if (NULL == pNeighborRoamInfo) {
sms_log(mac_ctx, LOG1, FL("Invalid Session ID %d"), session_id);
return QDF_STATUS_E_FAILURE;
}
cfg_params = &pNeighborRoamInfo->cfgParams;
state = pNeighborRoamInfo->neighborRoamState;
if ((state == eCSR_NEIGHBOR_ROAM_STATE_CONNECTED) ||
state == eCSR_NEIGHBOR_ROAM_STATE_INIT) {
switch (reason) {
case REASON_LOOKUP_THRESH_CHANGED:
old_value = cfg_params->neighborLookupThreshold;
cfg_params->neighborLookupThreshold = value;
pNeighborRoamInfo->currentNeighborLookupThreshold =
value;
break;
case REASON_OPPORTUNISTIC_THRESH_DIFF_CHANGED:
old_value = cfg_params->nOpportunisticThresholdDiff;
cfg_params->nOpportunisticThresholdDiff = value;
pNeighborRoamInfo->currentOpportunisticThresholdDiff =
value;
break;
case REASON_ROAM_RESCAN_RSSI_DIFF_CHANGED:
old_value = cfg_params->nRoamRescanRssiDiff;
cfg_params->nRoamRescanRssiDiff = value;
pNeighborRoamInfo->currentRoamRescanRssiDiff = value;
break;
case REASON_ROAM_BMISS_FIRST_BCNT_CHANGED:
old_value = cfg_params->nRoamBmissFirstBcnt;
cfg_params->nRoamBmissFirstBcnt = value;
pNeighborRoamInfo->currentRoamBmissFirstBcnt = value;
break;
case REASON_ROAM_BMISS_FINAL_BCNT_CHANGED:
old_value = cfg_params->nRoamBmissFinalBcnt;
cfg_params->nRoamBmissFinalBcnt = value;
pNeighborRoamInfo->currentRoamBmissFinalBcnt = value;
break;
case REASON_ROAM_BEACON_RSSI_WEIGHT_CHANGED:
old_value = cfg_params->nRoamBeaconRssiWeight;
cfg_params->nRoamBeaconRssiWeight = value;
pNeighborRoamInfo->currentRoamBeaconRssiWeight = value;
break;
default:
sms_log(mac_ctx, LOG2, FL("Unknown update cfg reason"));
return QDF_STATUS_E_FAILURE;
}
break;
case eCSR_NEIGHBOR_ROAM_STATE_INIT:
NEIGHBOR_ROAM_DEBUG(pMac,
LOG2,
FL
("Currently in INIT state, Nothing to do"));
break;
default:
NEIGHBOR_ROAM_DEBUG(pMac, LOGE,
FL
("Unexpected state %d, returning failure"),
pNeighborRoamInfo->neighborRoamState);
break;
} else {
sms_log(mac_ctx, LOGE, FL("Unexpected state %s, return fail"),
mac_trace_get_neighbour_roam_state(state));
return QDF_STATUS_E_FAILURE;
}
return qdf_status;
}
#endif
QDF_STATUS csr_neighbor_roam_set_lookup_rssi_threshold(tpAniSirGlobal pMac,
uint8_t sessionId,
uint8_t
neighborLookupRssiThreshold)
{
tpCsrNeighborRoamControlInfo pNeighborRoamInfo =
&pMac->roam.neighborRoamInfo[sessionId];
QDF_STATUS qdf_status = QDF_STATUS_SUCCESS;
switch (pNeighborRoamInfo->neighborRoamState) {
case eCSR_NEIGHBOR_ROAM_STATE_CONNECTED:
NEIGHBOR_ROAM_DEBUG(pMac, LOG2,
FL("Currently in CONNECTED state, "
"sending ROAM_SCAN_OFFLOAD_UPDATE_CFG."));
pNeighborRoamInfo->cfgParams.neighborLookupThreshold =
neighborLookupRssiThreshold;
pNeighborRoamInfo->currentNeighborLookupThreshold =
pNeighborRoamInfo->cfgParams.neighborLookupThreshold;
csr_roam_offload_scan(pMac, sessionId,
ROAM_SCAN_OFFLOAD_UPDATE_CFG,
REASON_LOOKUP_THRESH_CHANGED);
break;
case eCSR_NEIGHBOR_ROAM_STATE_INIT:
NEIGHBOR_ROAM_DEBUG(pMac, LOG2,
FL("Currently in INIT state, "
"just set lookupRssi threshold."));
pNeighborRoamInfo->cfgParams.neighborLookupThreshold =
neighborLookupRssiThreshold;
pNeighborRoamInfo->currentNeighborLookupThreshold =
pNeighborRoamInfo->cfgParams.neighborLookupThreshold;
break;
default:
NEIGHBOR_ROAM_DEBUG(pMac, LOGE,
FL
("Unexpected state %s, returning failure"),
mac_trace_get_neighbour_roam_state
(pNeighborRoamInfo->neighborRoamState));
qdf_status = QDF_STATUS_E_FAILURE;
break;
if (state == eCSR_NEIGHBOR_ROAM_STATE_CONNECTED) {
sms_log(mac_ctx, LOG2, FL("CONNECTED, send update cfg cmd"));
csr_roam_offload_scan(mac_ctx, session_id,
ROAM_SCAN_OFFLOAD_UPDATE_CFG, reason);
}
return qdf_status;
}
QDF_STATUS
csr_neighbor_roam_set_opportunistic_scan_threshold_diff(tpAniSirGlobal pMac,
uint8_t sessionId,
uint8_t
nOpportunisticThresholdDiff)
{
QDF_STATUS qdf_status = QDF_STATUS_SUCCESS;
tpCsrNeighborRoamControlInfo pNeighborRoamInfo =
&pMac->roam.neighborRoamInfo[sessionId];
switch (pNeighborRoamInfo->neighborRoamState) {
case eCSR_NEIGHBOR_ROAM_STATE_CONNECTED:
NEIGHBOR_ROAM_DEBUG(pMac, LOG2,
FL("Currently in CONNECTED state, "
"sending ROAM_SCAN_OFFLOAD_UPDATE_CFG"));
pNeighborRoamInfo->cfgParams.nOpportunisticThresholdDiff =
nOpportunisticThresholdDiff;
pNeighborRoamInfo->currentOpportunisticThresholdDiff =
nOpportunisticThresholdDiff;
csr_roam_offload_scan(pMac,
sessionId,
ROAM_SCAN_OFFLOAD_UPDATE_CFG,
REASON_OPPORTUNISTIC_THRESH_DIFF_CHANGED);
break;
case eCSR_NEIGHBOR_ROAM_STATE_INIT:
NEIGHBOR_ROAM_DEBUG(pMac, LOG2,
FL("Currently in INIT state, "
"just set opportunistic threshold diff"));
pNeighborRoamInfo->cfgParams.nOpportunisticThresholdDiff =
nOpportunisticThresholdDiff;
pNeighborRoamInfo->currentOpportunisticThresholdDiff =
nOpportunisticThresholdDiff;
break;
default:
NEIGHBOR_ROAM_DEBUG(pMac, LOGE,
FL("Unexpected state %d returning failure"),
pNeighborRoamInfo->neighborRoamState);
qdf_status = QDF_STATUS_E_FAILURE;
break;
}
return qdf_status;
}
QDF_STATUS
csr_neighbor_roam_set_roam_rescan_rssi_diff(tpAniSirGlobal pMac,
uint8_t sessionId,
uint8_t nRoamRescanRssiDiff)
{
QDF_STATUS qdf_status = QDF_STATUS_SUCCESS;
tpCsrNeighborRoamControlInfo pNeighborRoamInfo =
&pMac->roam.neighborRoamInfo[sessionId];
switch (pNeighborRoamInfo->neighborRoamState) {
case eCSR_NEIGHBOR_ROAM_STATE_CONNECTED:
NEIGHBOR_ROAM_DEBUG(pMac, LOG2,
FL("Currently in CONNECTED state, "
"sending ROAM_SCAN_OFFLOAD_UPDATE_CFG."));
pNeighborRoamInfo->cfgParams.nRoamRescanRssiDiff =
nRoamRescanRssiDiff;
pNeighborRoamInfo->currentRoamRescanRssiDiff =
nRoamRescanRssiDiff;
csr_roam_offload_scan(pMac, sessionId,
ROAM_SCAN_OFFLOAD_UPDATE_CFG,
REASON_ROAM_RESCAN_RSSI_DIFF_CHANGED);
break;
case eCSR_NEIGHBOR_ROAM_STATE_INIT:
NEIGHBOR_ROAM_DEBUG(pMac, LOG2,
FL("Currently in INIT state, "
"just set rescan rssi diff"));
pNeighborRoamInfo->cfgParams.nRoamRescanRssiDiff =
nRoamRescanRssiDiff;
pNeighborRoamInfo->currentRoamRescanRssiDiff =
nRoamRescanRssiDiff;
break;
default:
NEIGHBOR_ROAM_DEBUG(pMac, LOGE,
FL("Unexpected state %d returning failure"),
pNeighborRoamInfo->neighborRoamState);
qdf_status = QDF_STATUS_E_FAILURE;
break;
}
return qdf_status;
}
QDF_STATUS
csr_neighbor_roam_set_roam_bmiss_first_bcnt(tpAniSirGlobal pMac,
uint8_t sessionId,
uint8_t nRoamBmissFirstBcnt)
{
QDF_STATUS qdf_status = QDF_STATUS_SUCCESS;
tpCsrNeighborRoamControlInfo pNeighborRoamInfo =
&pMac->roam.neighborRoamInfo[sessionId];
switch (pNeighborRoamInfo->neighborRoamState) {
case eCSR_NEIGHBOR_ROAM_STATE_CONNECTED:
NEIGHBOR_ROAM_DEBUG(pMac, LOG2,
FL("Currently in CONNECTED state, "
"sending ROAM_SCAN_OFFLOAD_UPDATE_CFG."));
pNeighborRoamInfo->cfgParams.nRoamBmissFirstBcnt =
nRoamBmissFirstBcnt;
pNeighborRoamInfo->currentRoamBmissFirstBcnt =
nRoamBmissFirstBcnt;
csr_roam_offload_scan(pMac,
sessionId,
ROAM_SCAN_OFFLOAD_UPDATE_CFG,
REASON_ROAM_BMISS_FIRST_BCNT_CHANGED);
break;
case eCSR_NEIGHBOR_ROAM_STATE_INIT:
NEIGHBOR_ROAM_DEBUG(pMac,
LOG2, FL
("Currently in INIT state, safe to set roam rescan rssi diff"));
pNeighborRoamInfo->cfgParams.nRoamBmissFirstBcnt =
nRoamBmissFirstBcnt;
pNeighborRoamInfo->currentRoamBmissFirstBcnt =
nRoamBmissFirstBcnt;
break;
default:
NEIGHBOR_ROAM_DEBUG(pMac,
LOGE,
FL("Unexpected state %d returning failure"),
pNeighborRoamInfo->neighborRoamState);
qdf_status = QDF_STATUS_E_FAILURE;
break;
}
return qdf_status;
}
QDF_STATUS
csr_neighbor_roam_set_roam_bmiss_final_bcnt(tpAniSirGlobal pMac,
uint8_t sessionId,
uint8_t nRoamBmissFinalBcnt)
{
QDF_STATUS qdf_status = QDF_STATUS_SUCCESS;
tpCsrNeighborRoamControlInfo pNeighborRoamInfo =
&pMac->roam.neighborRoamInfo[sessionId];
switch (pNeighborRoamInfo->neighborRoamState) {
case eCSR_NEIGHBOR_ROAM_STATE_CONNECTED:
NEIGHBOR_ROAM_DEBUG(pMac, LOG2,
FL("Currently in CONNECTED state, "
"sending ROAM_SCAN_OFFLOAD_UPDATE_CFG."));
pNeighborRoamInfo->cfgParams.nRoamBmissFinalBcnt =
nRoamBmissFinalBcnt;
pNeighborRoamInfo->currentRoamBmissFinalBcnt =
nRoamBmissFinalBcnt;
csr_roam_offload_scan(pMac, sessionId,
ROAM_SCAN_OFFLOAD_UPDATE_CFG,
REASON_ROAM_BMISS_FINAL_BCNT_CHANGED);
break;
case eCSR_NEIGHBOR_ROAM_STATE_INIT:
NEIGHBOR_ROAM_DEBUG(pMac, LOG2,
FL("Currently in INIT state, "
"just set roam fianl bmiss count"));
pNeighborRoamInfo->cfgParams.nRoamBmissFinalBcnt =
nRoamBmissFinalBcnt;
pNeighborRoamInfo->currentRoamBmissFinalBcnt =
nRoamBmissFinalBcnt;
break;
default:
NEIGHBOR_ROAM_DEBUG(pMac,
LOGE,
FL("Unexpected state %d returning failure"),
pNeighborRoamInfo->neighborRoamState);
qdf_status = QDF_STATUS_E_FAILURE;
break;
}
return qdf_status;
}
QDF_STATUS
csr_neighbor_roam_set_roam_beacon_rssi_weight(tpAniSirGlobal pMac,
uint8_t sessionId,
uint8_t nRoamBeaconRssiWeight)
{
QDF_STATUS qdf_status = QDF_STATUS_SUCCESS;
tpCsrNeighborRoamControlInfo pNeighborRoamInfo =
&pMac->roam.neighborRoamInfo[sessionId];
switch (pNeighborRoamInfo->neighborRoamState) {
case eCSR_NEIGHBOR_ROAM_STATE_CONNECTED:
NEIGHBOR_ROAM_DEBUG(pMac, LOG2,
FL("Currently in CONNECTED state, "
"sending ROAM_SCAN_OFFLOAD_UPDATE_CFG."));
pNeighborRoamInfo->cfgParams.nRoamBeaconRssiWeight =
nRoamBeaconRssiWeight;
pNeighborRoamInfo->currentRoamBeaconRssiWeight =
nRoamBeaconRssiWeight;
csr_roam_offload_scan(pMac, sessionId,
ROAM_SCAN_OFFLOAD_UPDATE_CFG,
REASON_ROAM_BEACON_RSSI_WEIGHT_CHANGED);
break;
case eCSR_NEIGHBOR_ROAM_STATE_INIT:
NEIGHBOR_ROAM_DEBUG(pMac, LOG2,
FL("Currently in INIT state, "
"just set roam beacon rssi weight"));
pNeighborRoamInfo->cfgParams.nRoamBeaconRssiWeight =
nRoamBeaconRssiWeight;
pNeighborRoamInfo->currentRoamBeaconRssiWeight =
nRoamBeaconRssiWeight;
break;
default:
NEIGHBOR_ROAM_DEBUG(pMac,
LOGE,
FL("Unexpected state %d returning failure"),
pNeighborRoamInfo->neighborRoamState);
qdf_status = QDF_STATUS_E_FAILURE;
break;
}
return qdf_status;
sms_log(mac_ctx, LOG2, FL("LFR config for %s changed from %d to %d"),
lfr_get_config_item_string(reason), old_value, value);
return QDF_STATUS_SUCCESS;
}
/*CleanUP Routines*/