diff options
author | Arnd Bergmann <arnd@arndb.de> | 2012-02-27 18:44:06 +0100 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2012-02-27 18:44:23 +0100 |
commit | f2273ecd9a7405b867522ce03d31a9fee80c2495 (patch) | |
tree | 1c11347958061ff1e88355b8b6c0efaecad36984 /arch/s390/kernel/process.c | |
parent | Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/... (diff) | |
parent | ARM: LPC32xx: serial.c: Fixed loop limit (diff) | |
download | linux-f2273ecd9a7405b867522ce03d31a9fee80c2495.tar.xz linux-f2273ecd9a7405b867522ce03d31a9fee80c2495.zip |
Merge branch 'lpc32xx/fixes' of git://git.antcom.de/linux-2.6 into fixes
* 'lpc32xx/fixes' of git://git.antcom.de/linux-2.6: (5 commits)
ARM: LPC32xx: serial.c: Fixed loop limit
ARM: LPC32xx: serial.c: HW bug workaround
ARM: LPC32xx: irq.c: Clear latched event
ARM: LPC32xx: Fix interrupt controller init
ARM: LPC32xx: Fix irq on GPI_28
Update to Linux 3.3-rc5
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/s390/kernel/process.c')
-rw-r--r-- | arch/s390/kernel/process.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/s390/kernel/process.c b/arch/s390/kernel/process.c index 3201ae447990..4261aa799774 100644 --- a/arch/s390/kernel/process.c +++ b/arch/s390/kernel/process.c @@ -76,7 +76,6 @@ static void default_idle(void) if (test_thread_flag(TIF_MCCK_PENDING)) { local_mcck_enable(); local_irq_enable(); - s390_handle_mcck(); return; } trace_hardirqs_on(); @@ -93,10 +92,12 @@ void cpu_idle(void) for (;;) { tick_nohz_idle_enter(); rcu_idle_enter(); - while (!need_resched()) + while (!need_resched() && !test_thread_flag(TIF_MCCK_PENDING)) default_idle(); rcu_idle_exit(); tick_nohz_idle_exit(); + if (test_thread_flag(TIF_MCCK_PENDING)) + s390_handle_mcck(); preempt_enable_no_resched(); schedule(); preempt_disable(); |