diff options
Diffstat (limited to 'arch/um/kernel/tt/process_kern.c')
-rw-r--r-- | arch/um/kernel/tt/process_kern.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/arch/um/kernel/tt/process_kern.c b/arch/um/kernel/tt/process_kern.c index a189a2b92935..cfaa373a6e77 100644 --- a/arch/um/kernel/tt/process_kern.c +++ b/arch/um/kernel/tt/process_kern.c | |||
@@ -23,10 +23,11 @@ | |||
23 | #include "mem_user.h" | 23 | #include "mem_user.h" |
24 | #include "tlb.h" | 24 | #include "tlb.h" |
25 | #include "mode.h" | 25 | #include "mode.h" |
26 | #include "mode_kern.h" | ||
26 | #include "init.h" | 27 | #include "init.h" |
27 | #include "tt.h" | 28 | #include "tt.h" |
28 | 29 | ||
29 | void *switch_to_tt(void *prev, void *next, void *last) | 30 | void switch_to_tt(void *prev, void *next) |
30 | { | 31 | { |
31 | struct task_struct *from, *to, *prev_sched; | 32 | struct task_struct *from, *to, *prev_sched; |
32 | unsigned long flags; | 33 | unsigned long flags; |
@@ -36,8 +37,6 @@ void *switch_to_tt(void *prev, void *next, void *last) | |||
36 | from = prev; | 37 | from = prev; |
37 | to = next; | 38 | to = next; |
38 | 39 | ||
39 | to->thread.prev_sched = from; | ||
40 | |||
41 | cpu = from->thread_info->cpu; | 40 | cpu = from->thread_info->cpu; |
42 | if(cpu == 0) | 41 | if(cpu == 0) |
43 | forward_interrupts(to->thread.mode.tt.extern_pid); | 42 | forward_interrupts(to->thread.mode.tt.extern_pid); |
@@ -53,7 +52,6 @@ void *switch_to_tt(void *prev, void *next, void *last) | |||
53 | forward_pending_sigio(to->thread.mode.tt.extern_pid); | 52 | forward_pending_sigio(to->thread.mode.tt.extern_pid); |
54 | 53 | ||
55 | c = 0; | 54 | c = 0; |
56 | set_current(to); | ||
57 | 55 | ||
58 | err = os_write_file(to->thread.mode.tt.switch_pipe[1], &c, sizeof(c)); | 56 | err = os_write_file(to->thread.mode.tt.switch_pipe[1], &c, sizeof(c)); |
59 | if(err != sizeof(c)) | 57 | if(err != sizeof(c)) |
@@ -85,8 +83,6 @@ void *switch_to_tt(void *prev, void *next, void *last) | |||
85 | 83 | ||
86 | flush_tlb_all(); | 84 | flush_tlb_all(); |
87 | local_irq_restore(flags); | 85 | local_irq_restore(flags); |
88 | |||
89 | return(current->thread.prev_sched); | ||
90 | } | 86 | } |
91 | 87 | ||
92 | void release_thread_tt(struct task_struct *task) | 88 | void release_thread_tt(struct task_struct *task) |