From 33333373c40633cec8791a284e84e4b116522c8f Mon Sep 17 00:00:00 2001 From: Chuck Ebbert <76306.1226@compuserve.com> Date: Tue, 13 Sep 2005 04:55:41 -0400 Subject: [PATCH] i386: Ignore masked FPU exceptions Masked FPU exceptions should obviously not happen in the first place, but if they do, ignoring them seems to be the right thing to do. Although there is no documentation available for Cyrix MII, I did find erratum F-7 for Winchip C6, "FPU instruction may result in spurious exception under certain conditions" which seems to indicate that this can happen. That would also explain the behaviour Ondrej Zary reported on the MII. Signed-off-by: Chuck Ebbert <76306.1226@compuserve.com> Signed-off-by: Linus Torvalds --- arch/i386/kernel/traps.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'arch/i386/kernel/traps.c') diff --git a/arch/i386/kernel/traps.c b/arch/i386/kernel/traps.c index 09a58cb6daa..431a551e46e 100644 --- a/arch/i386/kernel/traps.c +++ b/arch/i386/kernel/traps.c @@ -807,8 +807,9 @@ void math_error(void __user *eip) cwd = get_fpu_cwd(task); swd = get_fpu_swd(task); switch (swd & ~cwd & 0x3f) { - case 0x000: - default: + case 0x000: /* No unmasked exception */ + return; + default: /* Multiple exceptions */ break; case 0x001: /* Invalid Op */ /* -- cgit v1.2.3