From: Heiko Carstens Machine checks on s390 are always enabled (except in the machine check handler itself). Therefore use lockdep_off()/on() in the machine check handler to avoid deadlocks in the lock validator. Signed-off-by: Heiko Carstens Acked-by: Ingo Molnar Cc: Martin Schwidefsky Cc: Arjan van de Ven Signed-off-by: Andrew Morton --- drivers/s390/s390mach.c | 3 +++ 1 file changed, 3 insertions(+) diff -puN drivers/s390/s390mach.c~lockdep-s390-turn-validator-off-in-machine-check-handler drivers/s390/s390mach.c --- a/drivers/s390/s390mach.c~lockdep-s390-turn-validator-off-in-machine-check-handler +++ a/drivers/s390/s390mach.c @@ -378,6 +378,8 @@ s390_do_machine_check(struct pt_regs *re struct mcck_struct *mcck; int umode; + lockdep_off(); + mci = (struct mci *) &S390_lowcore.mcck_interruption_code; mcck = &__get_cpu_var(cpu_mcck); umode = user_mode(regs); @@ -482,6 +484,7 @@ s390_do_machine_check(struct pt_regs *re mcck->warning = 1; set_thread_flag(TIF_MCCK_PENDING); } + lockdep_on(); } /* _