/*-------------------------------------------------------------------------- Cleanup the SME FT Global context. ------------------------------------------------------------------------*/ void sme_FTClose(tHalHandle hHal, tANI_U32 sessionId) { tpAniSirGlobal pMac = PMAC_STRUCT( hHal ); tCsrRoamSession *pSession = NULL; /* Clear the FT Context */ sme_FTReset(hHal, sessionId); pSession = CSR_GET_SESSION( pMac, sessionId ); if (NULL != pSession) { /* check if the timer is running */ if (VOS_TIMER_STATE_RUNNING == vos_timer_getCurrentState( &pSession->ftSmeContext.preAuthReassocIntvlTimer)) { vos_timer_stop(&pSession->ftSmeContext.preAuthReassocIntvlTimer); } if (VOS_STATUS_SUCCESS != vos_timer_destroy(&pSession->ftSmeContext.preAuthReassocIntvlTimer)) { smsLog(pMac, LOGE, FL("preAuthReAssocTimer destroy failed")); } if (pSession->ftSmeContext.pUsrCtx != NULL) { smsLog(pMac, LOG1, FL("Freeing ftSmeContext.pUsrCtx and setting to NULL")); vos_mem_free(pSession->ftSmeContext.pUsrCtx); pSession->ftSmeContext.pUsrCtx = NULL; } } }
/*-------------------------------------------------------------------------- Cleanup the SME FT Global context. ------------------------------------------------------------------------*/ void sme_FTClose(tHalHandle hHal) { tpAniSirGlobal pMac = PMAC_STRUCT( hHal ); //Clear the FT Context. sme_FTReset(hHal); vos_timer_destroy(&pMac->ft.ftSmeContext.preAuthReassocIntvlTimer); }
/*-------------------------------------------------------------------------- Initialize the FT context. ------------------------------------------------------------------------*/ void sme_FTOpen(tHalHandle hHal) { tpAniSirGlobal pMac = PMAC_STRUCT( hHal ); eHalStatus status = eHAL_STATUS_SUCCESS; //Clear the FT Context. sme_FTReset(hHal); status = vos_timer_init(&pMac->ft.ftSmeContext.preAuthReassocIntvlTimer,VOS_TIMER_TYPE_SW, sme_PreauthReassocIntvlTimerCallback, (void *)pMac); if (eHAL_STATUS_SUCCESS != status) { smsLog(pMac, LOGE, FL("Preauth Reassoc interval Timer allocation failed")); return; } }