]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/mips/kernel/process.c
Merge branch 'sfc-3.9' into master
[karo-tx-linux.git] / arch / mips / kernel / process.c
index a11c6f9fdd5e0f2e05b306936cb98464f88a130d..3be4405c2d14570bdc04f52206f1cefa278c92a0 100644 (file)
@@ -154,9 +154,10 @@ int copy_thread(unsigned long clone_flags, unsigned long usp,
                return 0;
        }
        *childregs = *regs;
-       childregs->regs[7] = 0; /* Clear error flag */
-       childregs->regs[2] = 0; /* Child gets zero as return value */
-       childregs->regs[29] = usp;
+       childregs->regs[7] = 0; /* Clear error flag */
+       childregs->regs[2] = 0; /* Child gets zero as return value */
+       if (usp)
+               childregs->regs[29] = usp;
        ti->addr_limit = USER_DS;
 
        p->thread.reg29 = (unsigned long) childregs;