diff options
| -rw-r--r-- | sys/kern/kern_mutex.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/kern/kern_mutex.c b/sys/kern/kern_mutex.c index 81addbe1a6405..f06813a3321db 100644 --- a/sys/kern/kern_mutex.c +++ b/sys/kern/kern_mutex.c @@ -883,6 +883,10 @@ mtx_destroy(struct mtx *m) else { MPASS((m->mtx_lock & (MTX_RECURSED|MTX_CONTESTED)) == 0); + /* Perform the non-mtx related part of mtx_unlock_spin(). */ + if (LO_CLASSINDEX(&m->mtx_object) == LOCK_CLASS_SPIN_MUTEX) + spinlock_exit(); + /* Tell witness this isn't locked to make it happy. */ WITNESS_UNLOCK(&m->mtx_object, LOP_EXCLUSIVE, __FILE__, __LINE__); |
