From: Ingo Molnar Teach special (recursive) locking code to the lock validator. Has no effect on non-lockdep kernels. Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton --- kernel/irq/handle.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff -puN kernel/irq/handle.c~lock-validator-special-locking-genirq kernel/irq/handle.c --- devel/kernel/irq/handle.c~lock-validator-special-locking-genirq 2006-05-29 18:13:15.000000000 -0700 +++ devel-akpm/kernel/irq/handle.c 2006-05-29 18:13:15.000000000 -0700 @@ -15,6 +15,7 @@ #include #include #include +#include #include "internals.h" @@ -237,3 +238,15 @@ out: return 1; } +/* + * lockdep: we want to handle all irq_desc locks as a single lock-type: + */ +static struct lockdep_type_key irq_desc_lock_type; + +void early_init_irq_lock_type(void) +{ + int i; + + for (i = 0; i < NR_IRQS; i++) + spin_lock_init_key(&irq_desc[i].lock, &irq_desc_lock_type); +} _