[PATCH] uml: fix handling of no fpx_regs
authorAndree Leidenfrost <aleidenf@bigpond.net.au>
Sun, 1 May 2005 15:58:53 +0000 (08:58 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Sun, 1 May 2005 15:58:53 +0000 (08:58 -0700)
      Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>

Fix the error path, which is triggered when the processor misses the fpx
regs (i.e.  the "fxsr" cpuinfo feature).  For instance by VIA C3 Samuel2.

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/um/os-Linux/sys-i386/registers.c

index 148645b144805b57fdf73388e8208244ad84dc5a..9a0ad094d926d42cafd613f0dd005e13ffb1e028 100644 (file)
@@ -105,14 +105,15 @@ void init_registers(int pid)
                panic("check_ptrace : PTRACE_GETREGS failed, errno = %d",
                      err);
 
+       errno = 0;
        err = ptrace(PTRACE_GETFPXREGS, pid, 0, exec_fpx_regs);
        if(!err)
                return;
+       if(errno != EIO)
+               panic("check_ptrace : PTRACE_GETFPXREGS failed, errno = %d",
+                     errno);
 
        have_fpx_regs = 0;
-       if(err != EIO)
-               panic("check_ptrace : PTRACE_GETFPXREGS failed, errno = %d",
-                     err);
 
        err = ptrace(PTRACE_GETFPREGS, pid, 0, exec_fp_regs);
        if(err)