mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-14 00:24:41 -04:00
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:
parent
6a313dcb16
commit
ff4feb0a0e
3 changed files with 96 additions and 389 deletions
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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*/
|
||||
|
|
|
|||
Loading…
Reference in a new issue