From 995bb781d42441ed48517bc7ea6414c3df3386ef Mon Sep 17 00:00:00 2001 From: Paul Mundt Date: Fri, 28 Sep 2007 15:48:06 +0900 Subject: [PATCH] sh: Follow gUSA preempt changes in __switch_to(). Signed-off-by: Paul Mundt --- arch/sh/kernel/process.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/sh/kernel/process.c b/arch/sh/kernel/process.c index 15ae322dbd74..cd8dae16e940 100644 --- a/arch/sh/kernel/process.c +++ b/arch/sh/kernel/process.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include @@ -351,10 +352,9 @@ struct task_struct *__switch_to(struct task_struct *prev, #ifdef CONFIG_PREEMPT { - unsigned long flags; struct pt_regs *regs; - local_irq_save(flags); + preempt_disable(); regs = task_pt_regs(prev); if (user_mode(regs) && regs->regs[15] >= 0xc0000000) { int offset = (int)regs->regs[15]; @@ -365,7 +365,7 @@ struct task_struct *__switch_to(struct task_struct *prev, /* Go to rewind point */ regs->pc = regs->regs[0] + offset; } - local_irq_restore(flags); + preempt_enable_no_resched(); } #endif