Clear owner after dropping mutex

It's important to clear mp->owner after calling mutex_unlock()
because when CONFIG_DEBUG_MUTEXES is defined the mutex owner
is verified in mutex_unlock().  If we set it to NULL this check
fails and the lockdep support is immediately disabled.
This commit is contained in:
Brian Behlendorf 2010-11-03 15:56:53 -07:00
parent 23aa63cbf5
commit 8294c69bb7

View File

@ -81,8 +81,8 @@ mutex_owned(kmutex_t *mp)
#ifdef CONFIG_DEBUG_MUTEXES
# define mutex_exit(mp) \
({ \
(mp)->owner = NULL; \
mutex_unlock(mp); \
mutex_unlock(mp); \
(mp)->owner = NULL; \
})
#else
# define mutex_exit(mp) mutex_unlock(mp)