eHalStatus palSpinLockAlloc( tHddHandle hHdd, tPalSpinLockHandle *pHandle ) { eHalStatus halStatus = eHAL_STATUS_FAILURE; VOS_STATUS vosStatus; vos_lock_t *pLock; do { pLock = vos_mem_malloc( sizeof( vos_lock_t ) ); if ( NULL == pLock ) break; vos_mem_set(pLock, sizeof( vos_lock_t ), 0); vosStatus = vos_lock_init( pLock ); if ( !VOS_IS_STATUS_SUCCESS( vosStatus ) ) { vos_mem_free( pLock ); break; } *pHandle = (tPalSpinLockHandle)pLock; halStatus = eHAL_STATUS_SUCCESS; } while( 0 ); return( halStatus ); }
eHalStatus csrLLOpen( tHddHandle hHdd, tDblLinkList *pList ) { eHalStatus status = eHAL_STATUS_SUCCESS; VOS_STATUS vosStatus; if( !pList) { VOS_TRACE(VOS_MODULE_ID_SME, VOS_TRACE_LEVEL_FATAL,"%s: Error!! pList is Null", __func__); return eHAL_STATUS_FAILURE ; } if ( LIST_FLAG_OPEN != pList->Flag ) { pList->Count = 0; pList->cmdTimeoutTimer = NULL; vosStatus = vos_lock_init(&pList->Lock); if(VOS_IS_STATUS_SUCCESS(vosStatus)) { csrListInit( &pList->ListHead ); pList->Flag = LIST_FLAG_OPEN; pList->hHdd = hHdd; } else { status = eHAL_STATUS_FAILURE; } } return (status); }
wpt_status wpalMutexInit(wpt_mutex *pMutex) { if( vos_lock_init( (vos_lock_t*)pMutex ) != VOS_STATUS_SUCCESS ) { WPAL_TRACE(eWLAN_MODULE_PAL, eWLAN_PAL_TRACE_LEVEL_ERROR, " mutex init fail"); return eWLAN_PAL_STATUS_E_FAILURE; } return eWLAN_PAL_STATUS_SUCCESS; }
/** wpalMutexInit() @brief This function initializes a mutex object @param pMutex: a pointer to caller allocated object of wpt_mutex @return eWLAN_PAL_STATUS_SUCCESS if success. Fail otherwise. */ wpt_status wpalMutexInit(wpt_mutex *pMutex) { /* Not doing sanity checks since VOS does them anyways */ if( vos_lock_init( (vos_lock_t*)pMutex ) != VOS_STATUS_SUCCESS ) { WPAL_TRACE(eWLAN_MODULE_PAL, eWLAN_PAL_TRACE_LEVEL_ERROR, " mutex init fail"); return eWLAN_PAL_STATUS_E_FAILURE; } return eWLAN_PAL_STATUS_SUCCESS; }
/*========================================================================== FUNCTION WLANBAP_Start DESCRIPTION Called as part of the overall start procedure (vos_start). BAP will use this call to register with TL as the BAP entity for BT-AMP RSN frames. DEPENDENCIES PARAMETERS IN pvosGCtx: pointer to the global vos context; a handle to BAP's control block can be extracted from its context RETURN VALUE The result code associated with performing the operation VOS_STATUS_E_FAULT: pointer to BAP cb is NULL ; access would cause a page fault VOS_STATUS_SUCCESS: Everything is good :) Other codes can be returned as a result of a BAL failure; SIDE EFFECTS ============================================================================*/ VOS_STATUS WLANBAP_Start ( v_PVOID_t pvosGCtx ) { ptBtampContext pBtampCtx = NULL; VOS_STATUS vosStatus; /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/ /*------------------------------------------------------------------------ Sanity check Extract BAP control block ------------------------------------------------------------------------*/ pBtampCtx = VOS_GET_BAP_CB(pvosGCtx); if ( NULL == pBtampCtx ) { VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_ERROR, "Invalid BAP pointer from pvosGCtx on WLANBAP_Start"); return VOS_STATUS_E_FAULT; } /*------------------------------------------------------------------------ Register with TL as an BT-AMP RSN client ------------------------------------------------------------------------*/ VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_INFO_HIGH, "WLANBAP_Start TL register"); /*------------------------------------------------------------------------ Register with CSR for Roam (connection status) Events ------------------------------------------------------------------------*/ VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_INFO_HIGH, "WLANBAP_Start CSR Register"); /* Initialize the BAP Tx packet monitor timer */ WLANBAP_InitConnectionAcceptTimer (pBtampCtx ); WLANBAP_InitLinkSupervisionTimer(pBtampCtx); vosStatus = vos_timer_init( &pBtampCtx->bapTxPktMonitorTimer, VOS_TIMER_TYPE_SW, /* use this type */ WLANBAP_TxPacketMonitorHandler, pBtampCtx); vosStatus = vos_lock_init(&pBtampCtx->bapLock); if(!VOS_IS_STATUS_SUCCESS(vosStatus)) { VOS_TRACE(VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_ERROR,"Lock Init Fail"); } return vosStatus; }/* WLANBAP_Start */
void vos_timer_module_init( void ) { VOS_TRACE( VOS_MODULE_ID_VOSS, VOS_TRACE_LEVEL_INFO, "Initializing the VOSS timer module"); vos_lock_init( &persistentTimerCountLock ); }