diff options
Diffstat (limited to 'arch/mips/kernel/process.c')
-rw-r--r-- | arch/mips/kernel/process.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/mips/kernel/process.c b/arch/mips/kernel/process.c index 2b7a44deb856..368526af5f5e 100644 --- a/arch/mips/kernel/process.c +++ b/arch/mips/kernel/process.c | |||
@@ -89,6 +89,7 @@ int copy_thread(int nr, unsigned long clone_flags, unsigned long usp, | |||
89 | struct thread_info *ti = p->thread_info; | 89 | struct thread_info *ti = p->thread_info; |
90 | struct pt_regs *childregs; | 90 | struct pt_regs *childregs; |
91 | long childksp; | 91 | long childksp; |
92 | p->set_child_tid = p->clear_child_tid = NULL; | ||
92 | 93 | ||
93 | childksp = (unsigned long)ti + THREAD_SIZE - 32; | 94 | childksp = (unsigned long)ti + THREAD_SIZE - 32; |
94 | 95 | ||
@@ -134,6 +135,9 @@ int copy_thread(int nr, unsigned long clone_flags, unsigned long usp, | |||
134 | childregs->cp0_status &= ~(ST0_CU2|ST0_CU1); | 135 | childregs->cp0_status &= ~(ST0_CU2|ST0_CU1); |
135 | clear_tsk_thread_flag(p, TIF_USEDFPU); | 136 | clear_tsk_thread_flag(p, TIF_USEDFPU); |
136 | 137 | ||
138 | if (clone_flags & CLONE_SETTLS) | ||
139 | ti->tp_value = regs->regs[7]; | ||
140 | |||
137 | return 0; | 141 | return 0; |
138 | } | 142 | } |
139 | 143 | ||