From 8fec61d3330907e581de43da0b8fd9afbc32383a Mon Sep 17 00:00:00 2001 From: sheenam monga Date: Thu, 28 Mar 2019 16:55:36 +0530 Subject: [PATCH] qcacld-3.0: Added roam_reason in csr_roam_info Currently, there is no information for roam reason in csr Fix,check 4 LSB of roam_synch_data for roam reason and send roam_reason to hdd Change-Id: I4306339eb69db3bfc05fac79b13e3693582ff05d CRs-Fixed: 2425911 --- core/sme/inc/csr_api.h | 1 + core/sme/src/csr/csr_api_roam.c | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/core/sme/inc/csr_api.h b/core/sme/inc/csr_api.h index abddacfbf0cf..1cbacb957725 100644 --- a/core/sme/inc/csr_api.h +++ b/core/sme/inc/csr_api.h @@ -1181,6 +1181,7 @@ struct csr_roam_info { struct sir_sae_info *sae_info; #endif struct assoc_ind *owe_pending_assoc_ind; + uint8_t roam_reason; }; typedef struct sSirSmeAssocIndToUpperLayerCnf { diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c index 3654ae826afa..6eedad5ebf49 100644 --- a/core/sme/src/csr/csr_api_roam.c +++ b/core/sme/src/csr/csr_api_roam.c @@ -106,6 +106,11 @@ */ #define NEIGHBOR_REPORT_PARAM_INVALID (0xFFFFFFFFU) +/* + * To get 4 LSB of roam reason of roam_synch_data + * received from firmware + */ +#define ROAM_REASON_MASK 0x0F /** * csr_get_ielen_from_bss_description() - to get IE length * from tSirBssDescription structure @@ -21521,9 +21526,14 @@ static QDF_STATUS csr_process_roam_sync_callback(struct mac_context *mac_ctx, QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, FL("LFR3: Copy KCK, KEK(len %d) and Replay Ctr"), roam_info->kek_len); + /* bit-4 and bit-5 indicate the subnet status */ roam_info->subnet_change_status = CSR_GET_SUBNET_STATUS(roam_synch_data->roamReason); + /* fetch 4 LSB to get roam reason */ + roam_info->roam_reason = roam_synch_data->roamReason & + ROAM_REASON_MASK; + sme_debug("Update roam reason : %d", roam_info->roam_reason); csr_copy_fils_join_rsp_roam_info(roam_info, roam_synch_data); csr_roam_call_callback(mac_ctx, session_id, roam_info, 0,