From c1fdf98ba5eb393a7646775921630bf4323ed832 Mon Sep 17 00:00:00 2001 From: Andrew Boie Date: Fri, 10 Jan 2020 17:17:05 -0800 Subject: [PATCH] kernel: show what spinlock was used incorrectly Also helps identify corruption cases where the spinlock pointer used wasn't actually a spinlock. Signed-off-by: Andrew Boie --- include/spinlock.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/spinlock.h b/include/spinlock.h index 2f5ef5814ea..2281e61eaa3 100644 --- a/include/spinlock.h +++ b/include/spinlock.h @@ -71,7 +71,7 @@ static ALWAYS_INLINE k_spinlock_key_t k_spin_lock(struct k_spinlock *l) k.key = arch_irq_lock(); #ifdef CONFIG_SPIN_VALIDATE - __ASSERT(z_spin_lock_valid(l), "Recursive spinlock"); + __ASSERT(z_spin_lock_valid(l), "Recursive spinlock %p", l); #endif #ifdef CONFIG_SMP @@ -90,7 +90,7 @@ static ALWAYS_INLINE void k_spin_unlock(struct k_spinlock *l, { ARG_UNUSED(l); #ifdef CONFIG_SPIN_VALIDATE - __ASSERT(z_spin_unlock_valid(l), "Not my spinlock!"); + __ASSERT(z_spin_unlock_valid(l), "Not my spinlock %p", l); #endif #ifdef CONFIG_SMP @@ -113,7 +113,7 @@ static ALWAYS_INLINE void k_spin_release(struct k_spinlock *l) { ARG_UNUSED(l); #ifdef CONFIG_SPIN_VALIDATE - __ASSERT(z_spin_unlock_valid(l), "Not my spinlock!"); + __ASSERT(z_spin_unlock_valid(l), "Not my spinlock %p", l); #endif #ifdef CONFIG_SMP atomic_clear(&l->locked);