|
@@ -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))
|
|
|
) {
|