In current code, the return value of vos_mutexTryLock() is VOS_MUTEX_ERR/TRDP_MUTEX_ERR either if the mutex is already locked (err == EBUSY) or if the underlying pthread_mutex_trylock() call fails for any other reason (err == EINVAL).
IMHO sometimes it could be important beeing able to distiguish between the two situations.
So I suggest to return different values.
In case the mutex cannot be taken, VOS_INUSE_ERR (-49) will be returned.
VOS_INUSE_ERR will be returned, if mutex was not taken