/* Unlock the recursive mutex object previously locked using  */
OS_Status OS_RecursiveMutexUnlock(OS_Mutex_t *mutex)
/* Unlock the recursive mutex object previously locked using  */
OS_Status OS_RecursiveMutexUnlock(OS_Mutex_t *mutex)
{
    BaseType_t ret;
    OS_HANDLE_ASSERT(OS_MutexIsValid(mutex), mutex->handle);
    ret = xSemaphoreGiveRecursive(mutex->handle);
    if (ret != pdPASS) {
        OS_DBG("%s() fail @ %d\n", __func__, __LINE__);
        return OS_FAIL;
    }
    return OS_OK;
}