X-Git-Url: http://pilppa.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=include%2Fasm-x86%2Fi387.h;h=6b722d315936705605850bdd43141064bae9f71f;hb=2ad3cfbac58d0a6c6e65aafd9e0e757ca3d35292;hp=da2adb45f6e3949476ac0a4d2c1aa1cbb2024986;hpb=429f731dea577bdd43693940cdca524135287e6a;p=linux-2.6-omap-h63xx.git diff --git a/include/asm-x86/i387.h b/include/asm-x86/i387.h index da2adb45f6e..6b722d31593 100644 --- a/include/asm-x86/i387.h +++ b/include/asm-x86/i387.h @@ -175,7 +175,15 @@ static inline int save_i387(struct _fpstate __user *buf) */ static inline int restore_i387(struct _fpstate __user *buf) { - set_used_math(); + struct task_struct *tsk = current; + int err; + + if (!used_math()) { + err = init_fpu(tsk); + if (err) + return err; + } + if (!(task_thread_info(current)->status & TS_USEDFPU)) { clts(); task_thread_info(current)->status |= TS_USEDFPU;