diff --git a/components/mlme/core/src/wlan_mlme_main.c b/components/mlme/core/src/wlan_mlme_main.c
index e4b7be0b9dfe..f6d1390b8166 100644
--- a/components/mlme/core/src/wlan_mlme_main.c
+++ b/components/mlme/core/src/wlan_mlme_main.c
@@ -1639,6 +1639,12 @@ static void mlme_init_lfr_cfg(struct wlan_objmgr_psoc *psoc,
cfg_get(psoc, CFG_LFR_ROAM_BG_SCAN_CLIENT_BITMAP);
lfr->roam_bg_scan_bad_rssi_offset_2g =
cfg_get(psoc, CFG_LFR_ROAM_BG_SCAN_BAD_RSSI_OFFSET_2G);
+ lfr->roam_data_rssi_threshold_triggers =
+ cfg_get(psoc, CFG_ROAM_DATA_RSSI_THRESHOLD_TRIGGERS);
+ lfr->roam_data_rssi_threshold =
+ cfg_get(psoc, CFG_ROAM_DATA_RSSI_THRESHOLD);
+ lfr->rx_data_inactivity_time =
+ cfg_get(psoc, CFG_RX_DATA_INACTIVITY_TIME);
lfr->adaptive_roamscan_dwell_mode =
cfg_get(psoc, CFG_LFR_ADAPTIVE_ROAMSCAN_DWELL_MODE);
lfr->per_roam_enable =
diff --git a/components/mlme/dispatcher/inc/cfg_mlme_lfr.h b/components/mlme/dispatcher/inc/cfg_mlme_lfr.h
index f661c88cbc2e..b7e868130e45 100644
--- a/components/mlme/dispatcher/inc/cfg_mlme_lfr.h
+++ b/components/mlme/dispatcher/inc/cfg_mlme_lfr.h
@@ -500,6 +500,93 @@
CFG_VALUE_OR_DEFAULT, \
"RSSI threshold offset for 2G to 5G roam")
+/*
+ *
+ * roam_data_rssi_threshold_triggers - triggers of data rssi threshold for roam
+ * @Min: 0
+ * @Max: 0xffff
+ * @Default: 0
+ *
+ * If the DUT is connected to an AP with weak signal, during latest
+ * rx_data_inactivity_time, if there is no activity or avg of data_rssi is
+ * better than roam_data_rssi_threshold(-70dbM), then suppress roaming
+ * triggered by roam_data_rssi_threshold_triggers: low RSSI or bg scan.
+ * Triggers bitmap definition:
+ * ROAM_DATA_RSSI_FLAG_LOW_RSSI 1<<0
+ * ROAM_DATA_RSSI_FLAG_BACKGROUND 1<<1
+ *
+ * Related: None
+ *
+ * Supported Feature: Roaming
+ *
+ * Usage: External
+ *
+ *
+ */
+#define CFG_ROAM_DATA_RSSI_THRESHOLD_TRIGGERS CFG_INI_UINT( \
+ "roam_data_rssi_threshold_triggers", \
+ 0, \
+ 0xffff, \
+ 0x3, \
+ CFG_VALUE_OR_DEFAULT, \
+ "Triggers of DATA RSSI threshold for roam")
+
+/*
+ *
+ * roam_data_rssi_threshold - Data RSSI threshold for background roam
+ * @Min: -96
+ * @Max: 0
+ * @Default: -70
+ *
+ * If the DUT is connected to an AP with weak signal, during latest
+ * rx_data_inactivity_time, if there is no activity or avg of data_rssi is
+ * better than roam_data_rssi_threshold(-70dbM), then suppress roaming
+ * triggered by roam_data_rssi_threshold_triggers: low RSSI or bg scan.
+ *
+ * Related: None
+ *
+ * Supported Feature: Roaming
+ *
+ * Usage: External
+ *
+ *
+ */
+#define CFG_ROAM_DATA_RSSI_THRESHOLD CFG_INI_INT( \
+ "roam_data_rssi_threshold", \
+ -96, \
+ 0, \
+ -70, \
+ CFG_VALUE_OR_DEFAULT, \
+ "DATA RSSI threshold for roam")
+
+/*
+ *
+ * rx_data_inactivity_time - Duration to check data rssi
+ * @Min: 0
+ * @Max: 100000 ms
+ * @Default: 2000
+ *
+ * If the DUT is connected to an AP with weak signal, during latest
+ * rx_data_inactivity_time, if there is no activity or avg of data_rssi is
+ * better than roam_data_rssi_threshold(-70dbM), then suppress roaming
+ * triggered by roam_data_rssi_threshold_triggers: low RSSI or bg scan.
+ *
+ * Related: None
+ *
+ * Supported Feature: Roaming
+ *
+ * Usage: External
+ *
+ *
+ */
+#define CFG_RX_DATA_INACTIVITY_TIME CFG_INI_UINT( \
+ "rx_data_inactivity_time", \
+ 0, \
+ 100000, \
+ 2000, \
+ CFG_VALUE_OR_DEFAULT, \
+ "Rx inactivity time to check data rssi")
+
/*
*
* roamscan_adaptive_dwell_mode - Sets dwell time adaptive mode
@@ -2778,6 +2865,9 @@
CFG(CFG_LFR_ROAM_BG_SCAN_BAD_RSSI_THRESHOLD) \
CFG(CFG_LFR_ROAM_BG_SCAN_CLIENT_BITMAP) \
CFG(CFG_LFR_ROAM_BG_SCAN_BAD_RSSI_OFFSET_2G) \
+ CFG(CFG_ROAM_DATA_RSSI_THRESHOLD_TRIGGERS) \
+ CFG(CFG_ROAM_DATA_RSSI_THRESHOLD) \
+ CFG(CFG_RX_DATA_INACTIVITY_TIME) \
CFG(CFG_LFR_ADAPTIVE_ROAMSCAN_DWELL_MODE) \
CFG(CFG_LFR_PER_ROAM_ENABLE) \
CFG(CFG_LFR_PER_ROAM_CONFIG_HIGH_RATE_TH) \
diff --git a/components/mlme/dispatcher/inc/wlan_mlme_public_struct.h b/components/mlme/dispatcher/inc/wlan_mlme_public_struct.h
index 51903f51d31d..59cd3f8fbd5e 100644
--- a/components/mlme/dispatcher/inc/wlan_mlme_public_struct.h
+++ b/components/mlme/dispatcher/inc/wlan_mlme_public_struct.h
@@ -1585,6 +1585,10 @@ struct fw_scan_channels {
* @roam_bg_scan_bad_rssi_threshold:RSSI threshold for background roam
* @roam_bg_scan_client_bitmap: Bitmap used to identify the scan clients
* @roam_bg_scan_bad_rssi_offset_2g:RSSI threshold offset for 2G to 5G roam
+ * @roam_data_rssi_threshold_triggers: triggers of bad data RSSI threshold to
+ * roam
+ * @roam_data_rssi_threshold: Bad data RSSI threshold to roam
+ * @rx_data_inactivity_time: Rx duration to check data RSSI
* @adaptive_roamscan_dwell_mode: Sets dwell time adaptive mode
* @per_roam_enable: To enabled/disable PER based roaming in FW
* @per_roam_config_high_rate_th: Rate at which PER based roam will stop
@@ -1696,6 +1700,9 @@ struct wlan_mlme_lfr_cfg {
uint32_t roam_bg_scan_bad_rssi_threshold;
uint32_t roam_bg_scan_client_bitmap;
uint32_t roam_bg_scan_bad_rssi_offset_2g;
+ uint32_t roam_data_rssi_threshold_triggers;
+ int32_t roam_data_rssi_threshold;
+ uint32_t rx_data_inactivity_time;
uint32_t adaptive_roamscan_dwell_mode;
uint32_t per_roam_enable;
uint32_t per_roam_config_high_rate_th;
diff --git a/components/target_if/connection_mgr/src/target_if_cm_roam_offload.c b/components/target_if/connection_mgr/src/target_if_cm_roam_offload.c
index b9d3b56f6992..fa2bf4320264 100644
--- a/components/target_if/connection_mgr/src/target_if_cm_roam_offload.c
+++ b/components/target_if/connection_mgr/src/target_if_cm_roam_offload.c
@@ -388,6 +388,7 @@ target_if_cm_roam_scan_offload_rssi_thresh(
req->rssi_thresh &= 0x000000ff;
req->hi_rssi_scan_rssi_ub -= NOISE_FLOOR_DBM_DEFAULT;
req->bg_scan_bad_rssi_thresh -= NOISE_FLOOR_DBM_DEFAULT;
+ req->roam_data_rssi_threshold -= NOISE_FLOOR_DBM_DEFAULT;
req->good_rssi_threshold -= NOISE_FLOOR_DBM_DEFAULT;
req->good_rssi_threshold &= 0x000000ff;
}
@@ -466,6 +467,10 @@ target_if_cm_roam_scan_offload_rssi_thresh(
req->bg_scan_bad_rssi_thresh,
req->bg_scan_client_bitmap,
req->roam_bad_rssi_thresh_offset_2g);
+ target_if_debug("Roam data rssi triggers:0x%x, threshold:%d, rx time:%d",
+ req->roam_data_rssi_threshold_triggers,
+ req->roam_data_rssi_threshold,
+ req->rx_data_inactivity_time);
status = wmi_unified_roam_scan_offload_rssi_thresh_cmd(wmi_handle, req);
if (QDF_IS_STATUS_ERROR(status)) {
diff --git a/components/umac/mlme/connection_mgr/dispatcher/inc/wlan_cm_roam_public_struct.h b/components/umac/mlme/connection_mgr/dispatcher/inc/wlan_cm_roam_public_struct.h
index a66d1f97aa77..cc15f03ce617 100644
--- a/components/umac/mlme/connection_mgr/dispatcher/inc/wlan_cm_roam_public_struct.h
+++ b/components/umac/mlme/connection_mgr/dispatcher/inc/wlan_cm_roam_public_struct.h
@@ -927,6 +927,10 @@ struct wlan_roam_scan_offload_params {
* @roam_bad_rssi_thresh_offset_2g: Offset from Bad RSSI threshold for 2G
* to 5G Roam
* @bg_scan_client_bitmap: Bitmap used to identify the client scans to snoop
+ * @roam_data_rssi_threshold_triggers: triggers of bad data RSSI threshold to
+ * roam
+ * @roam_data_rssi_threshold: Bad data RSSI threshold to roam
+ * @rx_data_inactivity_time: Rx duration to check data RSSI
*/
struct wlan_roam_offload_scan_rssi_params {
int8_t rssi_thresh;
@@ -955,6 +959,9 @@ struct wlan_roam_offload_scan_rssi_params {
int8_t bg_scan_bad_rssi_thresh;
uint8_t roam_bad_rssi_thresh_offset_2g;
uint32_t bg_scan_client_bitmap;
+ uint32_t roam_data_rssi_threshold_triggers;
+ int32_t roam_data_rssi_threshold;
+ uint32_t rx_data_inactivity_time;
};
/**
diff --git a/components/wmi/inc/wmi_unified_roam_param.h b/components/wmi/inc/wmi_unified_roam_param.h
index 4eac21fae8d8..aea978c3864f 100644
--- a/components/wmi/inc/wmi_unified_roam_param.h
+++ b/components/wmi/inc/wmi_unified_roam_param.h
@@ -95,6 +95,10 @@ struct rssi_monitor_param {
* @roam_bad_rssi_thresh_offset_2g: Offset from Bad RSSI threshold for 2G
* to 5G Roam
* @bg_scan_client_bitmap: Bitmap used to identify the client scans to snoop
+ * @roam_data_rssi_threshold_triggers: triggers of bad data RSSI threshold to
+ * roam
+ * @roam_data_rssi_threshold: Bad data RSSI threshold to roam
+ * @rx_data_inactivity_time: Rx duration to check data RSSI
* @flags: Flags for Background Roaming
* Bit 0 : BG roaming enabled when we connect to 2G AP only and roaming
* to 5G AP only.
@@ -125,6 +129,9 @@ struct roam_offload_scan_rssi_params {
int8_t bg_scan_bad_rssi_thresh;
uint8_t roam_bad_rssi_thresh_offset_2g;
uint32_t bg_scan_client_bitmap;
+ uint32_t roam_data_rssi_threshold_triggers;
+ int32_t roam_data_rssi_threshold;
+ uint32_t rx_data_inactivity_time;
uint32_t flags;
};
diff --git a/components/wmi/src/wmi_unified_roam_tlv.c b/components/wmi/src/wmi_unified_roam_tlv.c
index e9b7ac7cb955..1a8c6e137cb0 100644
--- a/components/wmi/src/wmi_unified_roam_tlv.c
+++ b/components/wmi/src/wmi_unified_roam_tlv.c
@@ -179,6 +179,7 @@ static QDF_STATUS send_roam_scan_offload_rssi_thresh_cmd_tlv(
wmi_roam_earlystop_rssi_thres_param *early_stop_thresholds = NULL;
wmi_roam_dense_thres_param *dense_thresholds = NULL;
wmi_roam_bg_scan_roaming_param *bg_scan_params = NULL;
+ wmi_roam_data_rssi_roaming_param *data_rssi_param = NULL;
len = sizeof(wmi_roam_scan_rssi_threshold_fixed_param);
len += WMI_TLV_HDR_SIZE; /* TLV for ext_thresholds*/
@@ -189,6 +190,8 @@ static QDF_STATUS send_roam_scan_offload_rssi_thresh_cmd_tlv(
len += sizeof(wmi_roam_dense_thres_param);
len += WMI_TLV_HDR_SIZE; /* TLV for BG Scan*/
len += sizeof(wmi_roam_bg_scan_roaming_param);
+ len += WMI_TLV_HDR_SIZE; /* TLV for data RSSI*/
+ len += sizeof(wmi_roam_data_rssi_roaming_param);
buf = wmi_buf_alloc(wmi_handle, len);
if (!buf)
return QDF_STATUS_E_NOMEM;
@@ -289,6 +292,26 @@ static QDF_STATUS send_roam_scan_offload_rssi_thresh_cmd_tlv(
WMITLV_GET_STRUCT_TLVLEN
(wmi_roam_bg_scan_roaming_param));
+ buf_ptr += sizeof(wmi_roam_bg_scan_roaming_param);
+ WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_STRUC,
+ sizeof(wmi_roam_data_rssi_roaming_param));
+ buf_ptr += WMI_TLV_HDR_SIZE;
+ data_rssi_param = (wmi_roam_data_rssi_roaming_param *)buf_ptr;
+ data_rssi_param->flags =
+ roam_req->roam_data_rssi_threshold_triggers;
+ data_rssi_param->roam_data_rssi_thres =
+ roam_req->roam_data_rssi_threshold;
+ data_rssi_param->rx_inactivity_ms =
+ roam_req->rx_data_inactivity_time;
+ WMITLV_SET_HDR(&data_rssi_param->tlv_header,
+ WMITLV_TAG_STRUC_wmi_roam_data_rssi_roaming_param,
+ WMITLV_GET_STRUCT_TLVLEN
+ (wmi_roam_data_rssi_roaming_param));
+ WMI_LOGD("Data rssi threshold: %d, triggers: 0x%x, rx time: %d",
+ data_rssi_param->roam_data_rssi_thres,
+ data_rssi_param->flags,
+ data_rssi_param->rx_inactivity_ms);
+
wmi_mtrace(WMI_ROAM_SCAN_RSSI_THRESHOLD, NO_SESSION, 0);
status = wmi_unified_cmd_send(wmi_handle, buf,
len, WMI_ROAM_SCAN_RSSI_THRESHOLD);
@@ -383,6 +406,7 @@ static QDF_STATUS send_roam_scan_offload_rssi_thresh_cmd_tlv(
wmi_roam_earlystop_rssi_thres_param *early_stop_thresholds = NULL;
wmi_roam_dense_thres_param *dense_thresholds = NULL;
wmi_roam_bg_scan_roaming_param *bg_scan_params = NULL;
+ wmi_roam_data_rssi_roaming_param *data_rssi_param = NULL;
len = sizeof(wmi_roam_scan_rssi_threshold_fixed_param);
len += WMI_TLV_HDR_SIZE; /* TLV for ext_thresholds*/
@@ -489,6 +513,22 @@ static QDF_STATUS send_roam_scan_offload_rssi_thresh_cmd_tlv(
WMITLV_GET_STRUCT_TLVLEN
(wmi_roam_bg_scan_roaming_param));
+ buf_ptr += sizeof(wmi_roam_bg_scan_roaming_param);
+ WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_STRUC,
+ sizeof(wmi_roam_data_rssi_roaming_param));
+ buf_ptr += WMI_TLV_HDR_SIZE;
+ data_rssi_param = (wmi_roam_data_rssi_roaming_param *)buf_ptr;
+ data_rssi_param->flags =
+ roam_req->roam_data_rssi_threshold_triggers;
+ data_rssi_param->roam_data_rssi_thres =
+ roam_req->roam_data_rssi_threshold;
+ data_rssi_param->rx_inactivity_ms =
+ roam_req->rx_data_inactivity_time;
+ WMITLV_SET_HDR(&data_rssi_param->tlv_header,
+ WMITLV_TAG_STRUC_wmi_roam_data_rssi_roaming_param,
+ WMITLV_GET_STRUCT_TLVLEN
+ (wmi_roam_data_rssi_roaming_param));
+
wmi_mtrace(WMI_ROAM_SCAN_RSSI_THRESHOLD, NO_SESSION, 0);
status = wmi_unified_cmd_send(wmi_handle, buf,
len, WMI_ROAM_SCAN_RSSI_THRESHOLD);
diff --git a/core/mac/inc/sir_api.h b/core/mac/inc/sir_api.h
index ba1da59472ba..11e1474e3fba 100644
--- a/core/mac/inc/sir_api.h
+++ b/core/mac/inc/sir_api.h
@@ -2148,6 +2148,9 @@ typedef enum {
* @bg_scan_bad_rssi_thresh: Bad RSSI threshold to perform bg scan.
* @bad_rssi_thresh_offset_2g: Offset from Bad RSSI threshold for 2G to 5G Roam
* @bg_scan_client_bitmap: Bitmap to identify the client scans to snoop.
+ * @roam_data_rssi_threshold_triggers: Bad data RSSI threshold to roam
+ * @roam_data_rssi_threshold: Bad data RSSI threshold to roam
+ * @rx_data_inactivity_time: rx duration to check data RSSI
*
* This structure holds all the key parameters related to
* initial connection and also roaming connections.
@@ -2181,6 +2184,9 @@ struct roam_ext_params {
int8_t bg_scan_bad_rssi_thresh;
uint8_t roam_bad_rssi_thresh_offset_2g;
uint32_t bg_scan_client_bitmap;
+ uint32_t roam_data_rssi_threshold_triggers;
+ int32_t roam_data_rssi_threshold;
+ uint32_t rx_data_inactivity_time;
};
/**
diff --git a/core/sme/inc/csr_api.h b/core/sme/inc/csr_api.h
index 42c8a2fcc06b..77c5c126ba53 100644
--- a/core/sme/inc/csr_api.h
+++ b/core/sme/inc/csr_api.h
@@ -901,6 +901,9 @@ struct csr_config_params {
uint32_t roam_dense_min_aps;
int8_t roam_bg_scan_bad_rssi_thresh;
uint8_t roam_bad_rssi_thresh_offset_2g;
+ uint32_t roam_data_rssi_threshold_triggers;
+ int32_t roam_data_rssi_threshold;
+ uint32_t rx_data_inactivity_time;
struct csr_sta_roam_policy_params sta_roam_policy_params;
enum force_1x1_type is_force_1x1;
uint32_t offload_11k_enable_bitmask;
diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c
index dec33bed464f..6574f17cb7ae 100644
--- a/core/sme/src/csr/csr_api_roam.c
+++ b/core/sme/src/csr/csr_api_roam.c
@@ -2775,6 +2775,12 @@ QDF_STATUS csr_get_config_param(struct mac_context *mac,
cfg_params->roam_params.bg_scan_bad_rssi_thresh;
pParam->roam_bad_rssi_thresh_offset_2g =
cfg_params->roam_params.roam_bad_rssi_thresh_offset_2g;
+ pParam->roam_data_rssi_threshold_triggers =
+ cfg_params->roam_params.roam_data_rssi_threshold_triggers;
+ pParam->roam_data_rssi_threshold =
+ cfg_params->roam_params.roam_data_rssi_threshold;
+ pParam->rx_data_inactivity_time =
+ cfg_params->roam_params.rx_data_inactivity_time;
pParam->conc_custom_rule1 = cfg_params->conc_custom_rule1;
pParam->conc_custom_rule2 = cfg_params->conc_custom_rule2;
@@ -19429,6 +19435,12 @@ csr_roam_offload_scan(struct mac_context *mac_ctx, uint8_t session_id,
mac_ctx->mlme_cfg->lfr.roam_bg_scan_client_bitmap;
roam_params_dst->roam_bad_rssi_thresh_offset_2g =
mac_ctx->mlme_cfg->lfr.roam_bg_scan_bad_rssi_offset_2g;
+ roam_params_dst->roam_data_rssi_threshold_triggers =
+ mac_ctx->mlme_cfg->lfr.roam_data_rssi_threshold_triggers;
+ roam_params_dst->roam_data_rssi_threshold =
+ mac_ctx->mlme_cfg->lfr.roam_data_rssi_threshold;
+ roam_params_dst->rx_data_inactivity_time =
+ mac_ctx->mlme_cfg->lfr.rx_data_inactivity_time;
roam_params_dst->raise_rssi_thresh_5g =
mac_ctx->mlme_cfg->lfr.rssi_boost_threshold_5g;
roam_params_dst->drop_rssi_thresh_5g =
@@ -19748,11 +19760,16 @@ csr_cm_roam_scan_offload_rssi_thresh(struct mac_context *mac_ctx,
params->bg_scan_bad_rssi_thresh =
mac_ctx->mlme_cfg->lfr.roam_bg_scan_bad_rssi_threshold;
-
params->bg_scan_client_bitmap =
mac_ctx->mlme_cfg->lfr.roam_bg_scan_client_bitmap;
params->roam_bad_rssi_thresh_offset_2g =
mac_ctx->mlme_cfg->lfr.roam_bg_scan_bad_rssi_offset_2g;
+ params->roam_data_rssi_threshold_triggers =
+ mac_ctx->mlme_cfg->lfr.roam_data_rssi_threshold_triggers;
+ params->roam_data_rssi_threshold =
+ mac_ctx->mlme_cfg->lfr.roam_data_rssi_threshold;
+ params->rx_data_inactivity_time =
+ mac_ctx->mlme_cfg->lfr.rx_data_inactivity_time;
params->drop_rssi_thresh_5g =
mac_ctx->mlme_cfg->lfr.rssi_penalize_threshold_5g;
diff --git a/core/wma/src/wma_scan_roam.c b/core/wma/src/wma_scan_roam.c
index dbf626f1d021..92b849b24edf 100644
--- a/core/wma/src/wma_scan_roam.c
+++ b/core/wma/src/wma_scan_roam.c
@@ -586,13 +586,19 @@ wma_roam_scan_offload_rssi_thresh(tp_wma_handle wma_handle,
params.traffic_threshold =
roam_params->traffic_threshold;
params.initial_dense_status = roam_params->initial_dense_status;
- if (db2dbm_enabled)
+ if (db2dbm_enabled) {
params.bg_scan_bad_rssi_thresh =
roam_params->bg_scan_bad_rssi_thresh;
- else
- params.bg_scan_bad_rssi_thresh =
- roam_params->bg_scan_bad_rssi_thresh -
- WMA_NOISE_FLOOR_DBM_DEFAULT;
+ params.roam_data_rssi_threshold =
+ roam_params->roam_data_rssi_threshold;
+ } else {
+ params.roam_data_rssi_threshold =
+ roam_params->roam_data_rssi_threshold -
+ WMA_NOISE_FLOOR_DBM_DEFAULT;
+ params.roam_data_rssi_threshold =
+ roam_params->roam_data_rssi_threshold -
+ WMA_NOISE_FLOOR_DBM_DEFAULT;
+ }
params.bg_scan_client_bitmap = roam_params->bg_scan_client_bitmap;
params.roam_bad_rssi_thresh_offset_2g =
@@ -706,6 +712,10 @@ wma_roam_scan_offload_rssi_thresh(tp_wma_handle wma_handle,
roam_params->bg_scan_bad_rssi_thresh,
roam_params->bg_scan_client_bitmap,
roam_params->roam_bad_rssi_thresh_offset_2g);
+ wma_debug("Roam data rssi triggers:0x%x, threshold:%d, rx time:%d",
+ roam_params->roam_data_rssi_threshold_triggers,
+ roam_params->roam_data_rssi_threshold,
+ roam_params->rx_data_inactivity_time);
return status;
}