summary refs log tree commit diff
path: root/drivers/s390/s390mach.c
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2006-07-03 00:25:00 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2006-07-03 15:27:05 -0700
commit8e9ccae6ee2bb19b7752b7d412e1bbbaf28e7fe1 (patch)
tree85449e3b5cacd69cefdd353b1767d4fac13f1a80 /drivers/s390/s390mach.c
parent6205120044bb75ca06019491d1aa0e727fdd35be (diff)
downloadlinux-8e9ccae6ee2bb19b7752b7d412e1bbbaf28e7fe1.tar.gz
[PATCH] lockdep: s390 turn validator off in machine-check handler
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 <heiko.carstens@de.ibm.com>
Acked-by: Ingo Molnar <mingo@elte.hu>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Arjan van de Ven <arjan@infradead.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/s390/s390mach.c')
-rw-r--r--drivers/s390/s390mach.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/s390/s390mach.c b/drivers/s390/s390mach.c
index 432136f96e64..ffb3677e354f 100644
--- a/drivers/s390/s390mach.c
+++ b/drivers/s390/s390mach.c
@@ -378,6 +378,8 @@ s390_do_machine_check(struct pt_regs *regs)
 	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 *regs)
 		mcck->warning = 1;
 		set_thread_flag(TIF_MCCK_PENDING);
 	}
+	lockdep_on();
 }
 
 /*