lockdep: fix spurious 'inconsistent lock state' warning
authorDmitry Baryshkov <dbaryshkov@gmail.com>
Mon, 18 Aug 2008 00:26:37 +0000 (04:26 +0400)
committerIngo Molnar <mingo@elte.hu>
Mon, 18 Aug 2008 07:42:31 +0000 (09:42 +0200)
Since f82b217e3513fe3af342c0f3ee1494e86250c21c lockdep can output spurious
warnings related to hwirqs due to hardirq_off shrinkage from int to bit-sized
flag. Guard it with double negation to fix the warning.

Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/lockdep.c

index 77fa776a2da800b5ad1d96ee4f8e599d0ec714b0..3bfb1877a00372b0a99e4a37d1686a220251b910 100644 (file)
@@ -2582,7 +2582,7 @@ static int __lock_acquire(struct lockdep_map *lock, unsigned int subclass,
        hlock->trylock = trylock;
        hlock->read = read;
        hlock->check = check;
-       hlock->hardirqs_off = hardirqs_off;
+       hlock->hardirqs_off = !!hardirqs_off;
 #ifdef CONFIG_LOCK_STAT
        hlock->waittime_stamp = 0;
        hlock->holdtime_stamp = sched_clock();