eHalStatus ccmClose(tHalHandle hHal) { tHddHandle hHdd = halHandle2HddHandle(hHal); tpAniSirGlobal pMac = PMAC_STRUCT( hHal ); tANI_U32 i ; tCfgReq *req ; ccmStop(hHal); /* Go thru comp[] to free all saved requests */ for (i = 0 ; i < CFG_PARAM_MAX_NUM ; ++i) { if ((req = pMac->ccm.comp[i]) != NULL) { freeCfgReq(hHdd, req); } } return palSpinLockFree(hHdd, pMac->ccm.lock); }
VOS_STATUS vos_preStart( v_CONTEXT_t vosContext ) { VOS_STATUS vStatus = VOS_STATUS_SUCCESS; pVosContextType pVosContext = (pVosContextType)vosContext; VOS_TRACE(VOS_MODULE_ID_SYS, VOS_TRACE_LEVEL_INFO, "vos prestart"); if (gpVosContext != pVosContext) { VOS_TRACE( VOS_MODULE_ID_VOSS, VOS_TRACE_LEVEL_ERROR, "%s: Context mismatch", __func__); VOS_ASSERT(0); return VOS_STATUS_E_INVAL; } if (pVosContext->pMACContext == NULL) { VOS_TRACE(VOS_MODULE_ID_VOSS, VOS_TRACE_LEVEL_ERROR, "%s: MAC NULL context", __func__); VOS_ASSERT(0); return VOS_STATUS_E_INVAL; } if (pVosContext->pWDAContext == NULL) { VOS_TRACE(VOS_MODULE_ID_VOSS, VOS_TRACE_LEVEL_ERROR, "%s: WDA NULL context", __func__); VOS_ASSERT(0); return VOS_STATUS_E_INVAL; } vStatus = macPreStart(gpVosContext->pMACContext); if ( !VOS_IS_STATUS_SUCCESS(vStatus) ) { VOS_TRACE(VOS_MODULE_ID_SYS, VOS_TRACE_LEVEL_FATAL, "Failed at macPreStart "); return VOS_STATUS_E_FAILURE; } ccmStart(gpVosContext->pMACContext); vos_event_reset(&gpVosContext->wdaCompleteEvent); vStatus = WDA_preStart(gpVosContext); if (!VOS_IS_STATUS_SUCCESS(vStatus)) { VOS_TRACE(VOS_MODULE_ID_SYS, VOS_TRACE_LEVEL_FATAL, "Failed to WDA prestart"); macStop(gpVosContext->pMACContext, HAL_STOP_TYPE_SYS_DEEP_SLEEP); ccmStop(gpVosContext->pMACContext); VOS_ASSERT(0); return VOS_STATUS_E_FAILURE; } vStatus = vos_wait_single_event( &gpVosContext->wdaCompleteEvent, VOS_WDA_TIMEOUT ); if ( vStatus != VOS_STATUS_SUCCESS ) { if ( vStatus == VOS_STATUS_E_TIMEOUT ) { VOS_TRACE( VOS_MODULE_ID_VOSS, VOS_TRACE_LEVEL_ERROR, "%s: Timeout occurred before WDA complete", __func__); } else { VOS_TRACE( VOS_MODULE_ID_VOSS, VOS_TRACE_LEVEL_ERROR, "%s: WDA_preStart reporting other error", __func__); } VOS_TRACE( VOS_MODULE_ID_VOSS, VOS_TRACE_LEVEL_ERROR, "%s: Test MC thread by posting a probe message to SYS", __func__); wlan_sys_probe(); macStop(gpVosContext->pMACContext, HAL_STOP_TYPE_SYS_DEEP_SLEEP); ccmStop(gpVosContext->pMACContext); VOS_ASSERT( 0 ); return VOS_STATUS_E_FAILURE; } return VOS_STATUS_SUCCESS; }