sh: Use boot_cpu_data for FPU tests in sigcontext paths.

We do not want to use smp_processor_id() from these paths, as they trip
preempt BUGs. Switch the test over to the boot cpu directly.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
Paul Mundt 2009-10-14 14:12:41 +09:00
parent 9922262242
commit eaa47704d9

View File

@ -145,7 +145,7 @@ static inline int restore_sigcontext_fpu(struct sigcontext __user *sc)
{
struct task_struct *tsk = current;
if (!(current_cpu_data.flags & CPU_HAS_FPU))
if (!(boot_cpu_data.flags & CPU_HAS_FPU))
return 0;
set_used_math();
@ -158,7 +158,7 @@ static inline int save_sigcontext_fpu(struct sigcontext __user *sc,
{
struct task_struct *tsk = current;
if (!(current_cpu_data.flags & CPU_HAS_FPU))
if (!(boot_cpu_data.flags & CPU_HAS_FPU))
return 0;
if (!used_math()) {
@ -199,7 +199,7 @@ restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc, int *r0_p
#undef COPY
#ifdef CONFIG_SH_FPU
if (current_cpu_data.flags & CPU_HAS_FPU) {
if (boot_cpu_data.flags & CPU_HAS_FPU) {
int owned_fp;
struct task_struct *tsk = current;