SINT32 SOS_SpinLock(SpinLockType spinLockType) { SOS_IRQ_SPIN_LOCK *pSosSpinLock = NULL; pSosSpinLock = GetSpinLockByEnum(spinLockType); if (pSosSpinLock != NULL) { pSosSpinLock->irq_lock = SRE_IntLock(); return OSAL_OK; } else { return OSAL_ERR; } }
/***************************************************************************** Function : V_IntLock Description: Turn off the interrupt Input : file line Return : CPSR; Other : none *****************************************************************************/ VOS_INT V_IntLock(VOS_UINT32 ulFileID, VOS_INT32 lLineNo) { VOS_INT lFlag; lFlag = (VOS_INT)SRE_IntLock(); if ( VOS_NESTED_INTLOCK_MAX_NUM <= g_stVosIntLockNestedInfo.ulSuffix ) { g_stVosIntLockNestedInfo.ulSuffix++; LogPrint2("# Info: intlock nested too big.F %d L %d.\r\n", (VOS_INT32)ulFileID, (VOS_INT32)lLineNo); return lFlag; } g_stVosIntLockNestedInfo.astNestedInfo[g_stVosIntLockNestedInfo.ulSuffix].ulFile = ulFileID; g_stVosIntLockNestedInfo.astNestedInfo[g_stVosIntLockNestedInfo.ulSuffix].lLine = lLineNo; g_stVosIntLockNestedInfo.astNestedInfo[g_stVosIntLockNestedInfo.ulSuffix].ulSlice = VOS_GetSlice(); g_stVosIntLockNestedInfo.ulSuffix++; return lFlag; }