diff options
Diffstat (limited to 'arch/s390/kernel/process.c')
| -rw-r--r-- | arch/s390/kernel/process.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/arch/s390/kernel/process.c b/arch/s390/kernel/process.c index d3a2d1c6438e..ec2e03b22ead 100644 --- a/arch/s390/kernel/process.c +++ b/arch/s390/kernel/process.c | |||
| @@ -76,17 +76,17 @@ unsigned long thread_saved_pc(struct task_struct *tsk) | |||
| 76 | static void default_idle(void) | 76 | static void default_idle(void) |
| 77 | { | 77 | { |
| 78 | /* CPU is going idle. */ | 78 | /* CPU is going idle. */ |
| 79 | local_irq_disable(); | ||
| 80 | if (need_resched()) { | ||
| 81 | local_irq_enable(); | ||
| 82 | return; | ||
| 83 | } | ||
| 84 | #ifdef CONFIG_HOTPLUG_CPU | 79 | #ifdef CONFIG_HOTPLUG_CPU |
| 85 | if (cpu_is_offline(smp_processor_id())) { | 80 | if (cpu_is_offline(smp_processor_id())) { |
| 86 | preempt_enable_no_resched(); | 81 | preempt_enable_no_resched(); |
| 87 | cpu_die(); | 82 | cpu_die(); |
| 88 | } | 83 | } |
| 89 | #endif | 84 | #endif |
| 85 | local_irq_disable(); | ||
| 86 | if (need_resched()) { | ||
| 87 | local_irq_enable(); | ||
| 88 | return; | ||
| 89 | } | ||
| 90 | local_mcck_disable(); | 90 | local_mcck_disable(); |
| 91 | if (test_thread_flag(TIF_MCCK_PENDING)) { | 91 | if (test_thread_flag(TIF_MCCK_PENDING)) { |
| 92 | local_mcck_enable(); | 92 | local_mcck_enable(); |
