[PATCHv2] cobalt/x86: fix condition in eager fpu code for kernels < 4.14

Henning Schild henning.schild at siemens.com
Mon Jan 7 14:04:16 CET 2019


From: Henning Schild <henning.schild at siemens.com>

We should mark the current task as not owning the fpu anymore if it does
actually own the fpu, not if the fpu itself is active.

Fixes cb52e6c7438fa

Reported-by: Mauro Salvini <mauro.salvini at smigroup.net>
Signed-off-by: Henning Schild <henning.schild at siemens.com>
---
 kernel/cobalt/arch/x86/thread.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/cobalt/arch/x86/thread.c b/kernel/cobalt/arch/x86/thread.c
index a09560075..ba807ac1e 100644
--- a/kernel/cobalt/arch/x86/thread.c
+++ b/kernel/cobalt/arch/x86/thread.c
@@ -475,7 +475,7 @@ void xnarch_leave_root(struct xnthread *root)
 	switch_fpu_finish(&current->thread.fpu, smp_processor_id());
 #else
 	/* mark current thread as not owning the FPU anymore */
-	if (&current->thread.fpu.fpstate_active)
+	if (fpregs_active())
 		fpregs_deactivate(&current->thread.fpu);
 #endif
 }
-- 
2.19.2




More information about the Xenomai mailing list