diff options
| author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2009-04-14 09:36:18 -0400 |
|---|---|---|
| committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2009-04-14 09:37:22 -0400 |
| commit | 81f64b87731aa33eef6b88af9d92c3398d48cf41 (patch) | |
| tree | f87783910714e2655795fa96e01449b42b950d0b /arch | |
| parent | a93e11f9b9604134373ae790bce738d62109de60 (diff) | |
[S390] call nmi_enter/nmi_exit on machine checks
nmi_enter/nmi_exit includes the lockdep calls and various
other calls which were missing so far.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch')
| -rw-r--r-- | arch/s390/kernel/nmi.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/s390/kernel/nmi.c b/arch/s390/kernel/nmi.c index 4bfdc421d7e9..28cf196ba775 100644 --- a/arch/s390/kernel/nmi.c +++ b/arch/s390/kernel/nmi.c | |||
| @@ -10,6 +10,7 @@ | |||
| 10 | 10 | ||
| 11 | #include <linux/init.h> | 11 | #include <linux/init.h> |
| 12 | #include <linux/errno.h> | 12 | #include <linux/errno.h> |
| 13 | #include <linux/hardirq.h> | ||
| 13 | #include <linux/time.h> | 14 | #include <linux/time.h> |
| 14 | #include <linux/module.h> | 15 | #include <linux/module.h> |
| 15 | #include <asm/lowcore.h> | 16 | #include <asm/lowcore.h> |
| @@ -253,7 +254,7 @@ void notrace s390_do_machine_check(struct pt_regs *regs) | |||
| 253 | struct mci *mci; | 254 | struct mci *mci; |
| 254 | int umode; | 255 | int umode; |
| 255 | 256 | ||
| 256 | lockdep_off(); | 257 | nmi_enter(); |
| 257 | s390_idle_check(); | 258 | s390_idle_check(); |
| 258 | 259 | ||
| 259 | mci = (struct mci *) &S390_lowcore.mcck_interruption_code; | 260 | mci = (struct mci *) &S390_lowcore.mcck_interruption_code; |
| @@ -363,7 +364,7 @@ void notrace s390_do_machine_check(struct pt_regs *regs) | |||
| 363 | mcck->warning = 1; | 364 | mcck->warning = 1; |
| 364 | set_thread_flag(TIF_MCCK_PENDING); | 365 | set_thread_flag(TIF_MCCK_PENDING); |
| 365 | } | 366 | } |
| 366 | lockdep_on(); | 367 | nmi_exit(); |
| 367 | } | 368 | } |
| 368 | 369 | ||
| 369 | static int __init machine_check_init(void) | 370 | static int __init machine_check_init(void) |
