diff --git a/kernel/include/los_spinlock.h b/kernel/include/los_spinlock.h index 5dee0c19c3b7da15474eaebb90582feae43dade4..b511808ac74c0caac00b4c4e4c03392eaf0ee914 100644 --- a/kernel/include/los_spinlock.h +++ b/kernel/include/los_spinlock.h @@ -236,7 +236,11 @@ LITE_OS_SEC_ALW_INLINE STATIC INLINE VOID LOS_SpinUnlockRestore(SPIN_LOCK_S *loc */ LITE_OS_SEC_ALW_INLINE STATIC INLINE BOOL LOS_SpinHeld(const SPIN_LOCK_S *lock) { - return (lock->rawLock != 0); + return (lock->rawLock != 0 +#if (LOSCFG_KERNEL_SMP_LOCKDEP == YES) + && lock->owner == ArchCurrTaskGet() +#endif + ); } /**