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 --- a/kernel/irq/handle.c~lock-validator-special-locking-genirq +++ a/kernel/irq/handle.c @@ -15,6 +15,7 @@ #include #include #include +#include #include "internals.h" @@ -242,3 +243,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); +} _