Commit 995bb781 authored by Paul Mundt's avatar Paul Mundt
Browse files

sh: Follow gUSA preempt changes in __switch_to().



Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent e5137682
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@
#include <linux/tick.h>
#include <linux/reboot.h>
#include <linux/fs.h>
#include <linux/preempt.h>
#include <asm/uaccess.h>
#include <asm/mmu_context.h>
#include <asm/pgalloc.h>
@@ -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