diff options
Diffstat (limited to 'arch/sh/kernel/process_32.c')
-rw-r--r-- | arch/sh/kernel/process_32.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/sh/kernel/process_32.c b/arch/sh/kernel/process_32.c index c4361402ec5e..03de6573aa76 100644 --- a/arch/sh/kernel/process_32.c +++ b/arch/sh/kernel/process_32.c | |||
@@ -156,6 +156,8 @@ void start_thread(struct pt_regs *regs, unsigned long new_pc, | |||
156 | regs->sr = SR_FD; | 156 | regs->sr = SR_FD; |
157 | regs->pc = new_pc; | 157 | regs->pc = new_pc; |
158 | regs->regs[15] = new_sp; | 158 | regs->regs[15] = new_sp; |
159 | |||
160 | free_thread_xstate(current); | ||
159 | } | 161 | } |
160 | EXPORT_SYMBOL(start_thread); | 162 | EXPORT_SYMBOL(start_thread); |
161 | 163 | ||
@@ -316,7 +318,7 @@ __switch_to(struct task_struct *prev, struct task_struct *next) | |||
316 | 318 | ||
317 | /* we're going to use this soon, after a few expensive things */ | 319 | /* we're going to use this soon, after a few expensive things */ |
318 | if (next->fpu_counter > 5) | 320 | if (next->fpu_counter > 5) |
319 | prefetch(&next_t->fpu.hard); | 321 | prefetch(next_t->xstate); |
320 | 322 | ||
321 | #ifdef CONFIG_MMU | 323 | #ifdef CONFIG_MMU |
322 | /* | 324 | /* |
@@ -353,7 +355,7 @@ __switch_to(struct task_struct *prev, struct task_struct *next) | |||
353 | * chances of needing FPU soon are obviously high now | 355 | * chances of needing FPU soon are obviously high now |
354 | */ | 356 | */ |
355 | if (next->fpu_counter > 5) | 357 | if (next->fpu_counter > 5) |
356 | fpu_state_restore(task_pt_regs(next)); | 358 | __fpu_state_restore(); |
357 | 359 | ||
358 | return prev; | 360 | return prev; |
359 | } | 361 | } |