diff options
Diffstat (limited to 'drivers/s390')
-rw-r--r-- | drivers/s390/cio/cio.c | 2 | ||||
-rw-r--r-- | drivers/s390/s390mach.c | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/drivers/s390/cio/cio.c b/drivers/s390/cio/cio.c index 8a8df7552969..06b71823f399 100644 --- a/drivers/s390/cio/cio.c +++ b/drivers/s390/cio/cio.c | |||
@@ -632,8 +632,8 @@ do_IRQ (struct pt_regs *regs) | |||
632 | struct pt_regs *old_regs; | 632 | struct pt_regs *old_regs; |
633 | 633 | ||
634 | old_regs = set_irq_regs(regs); | 634 | old_regs = set_irq_regs(regs); |
635 | irq_enter(); | ||
636 | s390_idle_check(); | 635 | s390_idle_check(); |
636 | irq_enter(); | ||
637 | if (S390_lowcore.int_clock >= S390_lowcore.clock_comparator) | 637 | if (S390_lowcore.int_clock >= S390_lowcore.clock_comparator) |
638 | /* Serve timer interrupts first. */ | 638 | /* Serve timer interrupts first. */ |
639 | clock_comparator_work(); | 639 | clock_comparator_work(); |
diff --git a/drivers/s390/s390mach.c b/drivers/s390/s390mach.c index 834e9ee7e934..92b0417f8e12 100644 --- a/drivers/s390/s390mach.c +++ b/drivers/s390/s390mach.c | |||
@@ -18,6 +18,7 @@ | |||
18 | #include <asm/etr.h> | 18 | #include <asm/etr.h> |
19 | #include <asm/lowcore.h> | 19 | #include <asm/lowcore.h> |
20 | #include <asm/cio.h> | 20 | #include <asm/cio.h> |
21 | #include <asm/cpu.h> | ||
21 | #include "s390mach.h" | 22 | #include "s390mach.h" |
22 | 23 | ||
23 | static struct semaphore m_sem; | 24 | static struct semaphore m_sem; |
@@ -369,6 +370,8 @@ s390_do_machine_check(struct pt_regs *regs) | |||
369 | 370 | ||
370 | lockdep_off(); | 371 | lockdep_off(); |
371 | 372 | ||
373 | s390_idle_check(); | ||
374 | |||
372 | mci = (struct mci *) &S390_lowcore.mcck_interruption_code; | 375 | mci = (struct mci *) &S390_lowcore.mcck_interruption_code; |
373 | mcck = &__get_cpu_var(cpu_mcck); | 376 | mcck = &__get_cpu_var(cpu_mcck); |
374 | umode = user_mode(regs); | 377 | umode = user_mode(regs); |