diff --git a/core/sme/inc/csr_internal.h b/core/sme/inc/csr_internal.h index aa2d4217bc3b..3b94dde039b7 100644 --- a/core/sme/inc/csr_internal.h +++ b/core/sme/inc/csr_internal.h @@ -793,7 +793,7 @@ struct csr_roam_session { uint8_t *pAddIEScan; uint32_t nAddIEAssocLength; /* the byte count for pAddIeAssocIE */ uint8_t *pAddIEAssoc; - tCsrTimerInfo roamingTimerInfo; + struct csr_timer_info roamingTimerInfo; enum csr_roaming_reason roamingReason; bool fCancelRoaming; qdf_mc_timer_t hTimerRoaming; @@ -884,7 +884,7 @@ struct csr_roamstruct { tDblLinkList peStatsReqList; struct csr_tlstats_reqinfo tlStatsReqInfo; #endif - tCsrTimerInfo WaitForKeyTimerInfo; + struct csr_timer_info WaitForKeyTimerInfo; struct csr_roam_session *roamSession; uint32_t transactionId; /* Current transaction ID for internal use. */ tCsrNeighborRoamControlInfo neighborRoamInfo[CSR_ROAM_SESSION_MAX]; diff --git a/core/sme/inc/csr_support.h b/core/sme/inc/csr_support.h index e2eda35ba8c0..a1dccf416636 100644 --- a/core/sme/inc/csr_support.h +++ b/core/sme/inc/csr_support.h @@ -198,10 +198,15 @@ typedef struct tagCsrWapiIe { } qdf_packed tCsrWapiIe; #endif /* FEATURE_WLAN_WAPI */ -typedef struct tagRoamingTimerInfo { - tpAniSirGlobal pMac; - uint8_t sessionId; -} tCsrTimerInfo; +/** + * struct csr_timer_info - CSR-specific timer context + * @mac: Global MAC context associated with the timer + * @session_id: Session associated with the timer + */ +struct csr_timer_info { + struct mac_context *mac; + uint8_t session_id; +}; #define CSR_IS_11A_BSS(pBssDesc) (eSIR_11A_NW_TYPE == (pBssDesc)->nwType) #define CSR_IS_BASIC_RATE(rate) ((rate) & CSR_DOT11_BASIC_RATE_MASK) diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c index e7cd239f3eb6..1e9d025fd0b0 100644 --- a/core/sme/src/csr/csr_api_roam.c +++ b/core/sme/src/csr/csr_api_roam.c @@ -1383,12 +1383,12 @@ static QDF_STATUS csr_roam_open(tpAniSirGlobal pMac) do { for (i = 0; i < CSR_ROAM_SESSION_MAX; i++) { pSession = CSR_GET_SESSION(pMac, i); - pSession->roamingTimerInfo.pMac = pMac; - pSession->roamingTimerInfo.sessionId = + pSession->roamingTimerInfo.mac = pMac; + pSession->roamingTimerInfo.session_id = CSR_SESSION_ID_INVALID; } - pMac->roam.WaitForKeyTimerInfo.pMac = pMac; - pMac->roam.WaitForKeyTimerInfo.sessionId = + pMac->roam.WaitForKeyTimerInfo.mac = pMac; + pMac->roam.WaitForKeyTimerInfo.session_id = CSR_SESSION_ID_INVALID; status = qdf_mc_timer_init(&pMac->roam.hTimerWaitForKey, QDF_TIMER_TYPE_SW, @@ -7301,7 +7301,7 @@ static void csr_roam_process_join_res(tpAniSirGlobal mac_ctx, CSR_WAIT_FOR_KEY_TIMEOUT_PERIOD; /* Save session_id in case of timeout */ - mac_ctx->roam.WaitForKeyTimerInfo.sessionId = + mac_ctx->roam.WaitForKeyTimerInfo.session_id = (uint8_t) session_id; /* * This time should be long enough for the rest @@ -12274,9 +12274,9 @@ void csr_roam_cancel_roaming(tpAniSirGlobal pMac, uint32_t sessionId) void csr_roam_roaming_timer_handler(void *pv) { - tCsrTimerInfo *pInfo = (tCsrTimerInfo *) pv; - tpAniSirGlobal pMac = pInfo->pMac; - uint32_t sessionId = pInfo->sessionId; + struct csr_timer_info *info = pv; + tpAniSirGlobal pMac = info->mac; + uint32_t sessionId = info->session_id; struct csr_roam_session *pSession = CSR_GET_SESSION(pMac, sessionId); if (!pSession) { @@ -12304,19 +12304,19 @@ void csr_roam_roaming_timer_handler(void *pv) */ void csr_roam_roaming_offload_timeout_handler(void *timer_data) { - tCsrTimerInfo *timer_info = (tCsrTimerInfo *) timer_data; + struct csr_timer_info *timer_info = timer_data; if (timer_info) { QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, "LFR3:roaming offload timer expired, session: %d", - timer_info->sessionId); + timer_info->session_id); } else { QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR, "Invalid Session"); return; } - csr_roam_disconnect(timer_info->pMac, timer_info->sessionId, - eCSR_DISCONNECT_REASON_UNSPECIFIED); + csr_roam_disconnect(timer_info->mac, timer_info->session_id, + eCSR_DISCONNECT_REASON_UNSPECIFIED); } QDF_STATUS csr_roam_start_roaming_timer(tpAniSirGlobal pMac, uint32_t sessionId, @@ -12331,7 +12331,7 @@ QDF_STATUS csr_roam_start_roaming_timer(tpAniSirGlobal pMac, uint32_t sessionId, } sme_debug("csrScanStartRoamingTimer"); - pSession->roamingTimerInfo.sessionId = (uint8_t) sessionId; + pSession->roamingTimerInfo.session_id = (uint8_t) sessionId; status = qdf_mc_timer_start(&pSession->hTimerRoaming, interval / QDF_MC_TIMER_TO_MS_UNIT); @@ -12347,10 +12347,10 @@ QDF_STATUS csr_roam_stop_roaming_timer(tpAniSirGlobal pMac, void csr_roam_wait_for_key_time_out_handler(void *pv) { - tCsrTimerInfo *pInfo = (tCsrTimerInfo *) pv; - tpAniSirGlobal pMac = pInfo->pMac; - struct csr_roam_session *pSession = CSR_GET_SESSION(pMac, - pInfo->sessionId); + struct csr_timer_info *info = pv; + tpAniSirGlobal pMac = info->mac; + uint8_t session_id = info->session_id; + struct csr_roam_session *pSession = CSR_GET_SESSION(pMac, session_id); QDF_STATUS status = QDF_STATUS_E_FAILURE; if (pSession == NULL) { @@ -12360,20 +12360,20 @@ void csr_roam_wait_for_key_time_out_handler(void *pv) sme_debug("WaitForKey timer expired in state: %s sub-state: %s", mac_trace_get_neighbour_roam_state(pMac->roam. - neighborRoamInfo[pInfo->sessionId]. + neighborRoamInfo[session_id]. neighborRoamState), mac_trace_getcsr_roam_sub_state(pMac->roam. - curSubState[pInfo->sessionId])); + curSubState[session_id])); spin_lock(&pMac->roam.roam_state_lock); - if (CSR_IS_WAIT_FOR_KEY(pMac, pInfo->sessionId)) { + if (CSR_IS_WAIT_FOR_KEY(pMac, session_id)) { /* Change the substate so command queue is unblocked. */ - if (CSR_ROAM_SESSION_MAX > pInfo->sessionId) - pMac->roam.curSubState[pInfo->sessionId] = + if (CSR_ROAM_SESSION_MAX > session_id) + pMac->roam.curSubState[session_id] = eCSR_ROAM_SUBSTATE_NONE; spin_unlock(&pMac->roam.roam_state_lock); if (csr_neighbor_roam_is_handoff_in_progress(pMac, - pInfo->sessionId)) { + session_id)) { /* * Enable heartbeat timer when hand-off is in progress * and Key Wait timer expired. @@ -12391,12 +12391,12 @@ void csr_roam_wait_for_key_time_out_handler(void *pv) } sme_debug("SME pre-auth state timeout"); - if (csr_is_conn_state_connected_infra(pMac, pInfo->sessionId)) { + if (csr_is_conn_state_connected_infra(pMac, session_id)) { csr_roam_link_up(pMac, pSession->connectedProfile.bssid); status = sme_acquire_global_lock(&pMac->sme); if (QDF_IS_STATUS_SUCCESS(status)) { - csr_roam_disconnect(pMac, pInfo->sessionId, + csr_roam_disconnect(pMac, session_id, eCSR_DISCONNECT_REASON_UNSPECIFIED); sme_release_global_lock(&pMac->sme); } @@ -12443,7 +12443,7 @@ void csr_roam_roaming_offload_timer_action( ("LFR3: session %d not found"), session_id); return; } - csr_session->roamingTimerInfo.sessionId = (uint8_t) session_id; + csr_session->roamingTimerInfo.session_id = (uint8_t) session_id; if (action == ROAMING_OFFLOAD_TIMER_START) qdf_mc_timer_start(&csr_session->roaming_offload_timer, interval / QDF_MC_TIMER_TO_MS_UNIT); @@ -12457,19 +12457,17 @@ static QDF_STATUS csr_roam_start_wait_for_key_timer( tpAniSirGlobal pMac, uint32_t interval) { QDF_STATUS status; + uint8_t session_id = pMac->roam.WaitForKeyTimerInfo.session_id; tpCsrNeighborRoamControlInfo pNeighborRoamInfo = - &pMac->roam.neighborRoamInfo[pMac->roam.WaitForKeyTimerInfo. - sessionId]; - if (csr_neighbor_roam_is_handoff_in_progress(pMac, - pMac->roam.WaitForKeyTimerInfo. - sessionId)) { + &pMac->roam.neighborRoamInfo[session_id]; + + if (csr_neighbor_roam_is_handoff_in_progress(pMac, session_id)) { /* Disable heartbeat timer when hand-off is in progress */ sme_debug("disabling HB timer in state: %s sub-state: %s", mac_trace_get_neighbour_roam_state( pNeighborRoamInfo->neighborRoamState), mac_trace_getcsr_roam_sub_state( - pMac->roam.curSubState[pMac->roam. - WaitForKeyTimerInfo.sessionId])); + pMac->roam.curSubState[session_id])); pMac->mlme_cfg->timeouts.heart_beat_threshold = 0; } sme_debug("csrScanStartWaitForKeyTimer"); @@ -12481,20 +12479,16 @@ static QDF_STATUS csr_roam_start_wait_for_key_timer( QDF_STATUS csr_roam_stop_wait_for_key_timer(tpAniSirGlobal pMac) { + uint8_t session_id = pMac->roam.WaitForKeyTimerInfo.session_id; tpCsrNeighborRoamControlInfo pNeighborRoamInfo = - &pMac->roam.neighborRoamInfo[pMac->roam.WaitForKeyTimerInfo. - sessionId]; + &pMac->roam.neighborRoamInfo[session_id]; sme_debug("WaitForKey timer stopped in state: %s sub-state: %s", mac_trace_get_neighbour_roam_state(pNeighborRoamInfo-> neighborRoamState), mac_trace_getcsr_roam_sub_state(pMac->roam. - curSubState[pMac->roam. - WaitForKeyTimerInfo. - sessionId])); - if (csr_neighbor_roam_is_handoff_in_progress(pMac, - pMac->roam.WaitForKeyTimerInfo. - sessionId)) { + curSubState[session_id])); + if (csr_neighbor_roam_is_handoff_in_progress(pMac, session_id)) { /* * Enable heartbeat timer when hand-off is in progress * and Key Wait timer got stopped for some reason @@ -21550,7 +21544,7 @@ static QDF_STATUS csr_process_roam_sync_callback(tpAniSirGlobal mac_ctx, session_id); ps_global_info->remain_in_power_active_till_dhcp = true; - mac_ctx->roam.WaitForKeyTimerInfo.sessionId = session_id; + mac_ctx->roam.WaitForKeyTimerInfo.session_id = session_id; if (!QDF_IS_STATUS_SUCCESS(csr_roam_start_wait_for_key_timer( mac_ctx, CSR_WAIT_FOR_KEY_TIMEOUT_PERIOD)) ) {