mutex_unlock() returns 0 if successful. When any of the following conditions is detected, mutex_unlock() fails and returns the corresponding value.
EFAULT
Description:mp points to an illegal address.
EPERM
Description:The calling thread does not own the mutex.