sparc32, copy_thread: Clear TIF_USEDFPU flag of created task instead of current
FPU state is saved into task_struct of created task. Current task continues use of the state, so it needs TIF_USEDFPU flag is not cleared. Created task receives fresh FPU and cleared TIF_USEFPU flag is required for it. Signed-off-by: Kirill Tkhai <tkhai@yandex.ru> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
a0ce3ba03f
commit
427f23cb3a
|
@ -333,9 +333,6 @@ int copy_thread(unsigned long clone_flags, unsigned long sp,
|
|||
put_psr(get_psr() | PSR_EF);
|
||||
fpsave(&p->thread.float_regs[0], &p->thread.fsr,
|
||||
&p->thread.fpqueue[0], &p->thread.fpqdepth);
|
||||
#ifdef CONFIG_SMP
|
||||
clear_thread_flag(TIF_USEDFPU);
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -413,6 +410,7 @@ int copy_thread(unsigned long clone_flags, unsigned long sp,
|
|||
#ifdef CONFIG_SMP
|
||||
/* FPU must be disabled on SMP. */
|
||||
childregs->psr &= ~PSR_EF;
|
||||
clear_tsk_thread_flag(p, TIF_USEDFPU);
|
||||
#endif
|
||||
|
||||
/* Set the return value for the child. */
|
||||
|
|
Loading…
Reference in New Issue