diff --git a/arch/x86/include/asm/fpu-internal.h b/arch/x86/include/asm/fpu-internal.h index cf0d4124fb3d..b1803a656651 100644 --- a/arch/x86/include/asm/fpu-internal.h +++ b/arch/x86/include/asm/fpu-internal.h @@ -344,9 +344,9 @@ static inline void __thread_set_has_fpu(struct fpu *fpu) * These generally need preemption protection to work, * do try to avoid using these on their own. */ -static inline void __thread_fpu_end(struct task_struct *tsk) +static inline void __thread_fpu_end(struct fpu *fpu) { - __thread_clear_has_fpu(&tsk->thread.fpu); + __thread_clear_has_fpu(fpu); if (!use_eager_fpu()) stts(); } @@ -372,7 +372,7 @@ static inline void drop_fpu(struct task_struct *tsk) asm volatile("1: fwait\n" "2:\n" _ASM_EXTABLE(1b, 2b)); - __thread_fpu_end(tsk); + __thread_fpu_end(fpu); } clear_stopped_child_used_math(tsk); diff --git a/arch/x86/kernel/fpu/core.c b/arch/x86/kernel/fpu/core.c index ac390c690944..4e1f8f1bf493 100644 --- a/arch/x86/kernel/fpu/core.c +++ b/arch/x86/kernel/fpu/core.c @@ -143,7 +143,7 @@ void fpu__save(struct task_struct *tsk) __save_fpu(tsk); } else { fpu_save_init(fpu); - __thread_fpu_end(tsk); + __thread_fpu_end(fpu); } } preempt_enable();