[PATCH] Compile problems in locking-selftest.c with CONFIG_DEBUG_PREEMPT

From: John Kacur
Date: Fri Aug 15 2008 - 11:57:52 EST


The attached patch fixes the following compiler error in the rt-kernel
if CONFIG_DEBUG_PREEMPT is enabled.

lib/locking-selftest.c: In function 'dotest':
lib/locking-selftest.c:951: error: incompatible types in initialization
lib/locking-selftest.c:1003: error: incompatible types in assignment
Subject: Compile problems in locking-selftest.c with CONFIG_DEBUG_PREEMPT

lib/locking-selftest.c: In function â??dotestâ??:
lib/locking-selftest.c:951: error: incompatible types in initialization
lib/locking-selftest.c:1003: error: incompatible types in assignment

Signed-off-by: John Kacur <jkacur at gmail dot com>

Index: linux-2.6.26.1-rt1.jk/lib/locking-selftest.c
===================================================================
--- linux-2.6.26.1-rt1.jk.orig/lib/locking-selftest.c
+++ linux-2.6.26.1-rt1.jk/lib/locking-selftest.c
@@ -948,7 +948,7 @@ static void dotest(void (*testcase_fn)(v
unsigned long saved_preempt_count = preempt_count();
int expected_failure = 0;
#if defined(CONFIG_DEBUG_PREEMPT) && defined(CONFIG_DEBUG_RT_MUTEXES)
- int saved_lock_count = current->lock_count;
+ atomic_t saved_lock_count = current->lock_count;
#endif

WARN_ON(irqs_disabled());