diff options
Diffstat (limited to 'arch/um/kernel/process.c')
-rw-r--r-- | arch/um/kernel/process.c | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/arch/um/kernel/process.c b/arch/um/kernel/process.c index bbcef522bcb1..eecc4142764c 100644 --- a/arch/um/kernel/process.c +++ b/arch/um/kernel/process.c | |||
@@ -82,19 +82,8 @@ void *__switch_to(struct task_struct *from, struct task_struct *to) | |||
82 | to->thread.prev_sched = from; | 82 | to->thread.prev_sched = from; |
83 | set_current(to); | 83 | set_current(to); |
84 | 84 | ||
85 | do { | 85 | switch_threads(&from->thread.switch_buf, &to->thread.switch_buf); |
86 | current->thread.saved_task = NULL; | 86 | arch_switch_to(current); |
87 | |||
88 | switch_threads(&from->thread.switch_buf, | ||
89 | &to->thread.switch_buf); | ||
90 | |||
91 | arch_switch_to(current); | ||
92 | |||
93 | if (current->thread.saved_task) | ||
94 | show_regs(&(current->thread.regs)); | ||
95 | to = current->thread.saved_task; | ||
96 | from = current; | ||
97 | } while (current->thread.saved_task); | ||
98 | 87 | ||
99 | return current->thread.prev_sched; | 88 | return current->thread.prev_sched; |
100 | } | 89 | } |