aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc/kernel/process.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sparc/kernel/process.c')
-rw-r--r--arch/sparc/kernel/process.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/sparc/kernel/process.c b/arch/sparc/kernel/process.c
index 29e72b57d4fd..c39f4d01096d 100644
--- a/arch/sparc/kernel/process.c
+++ b/arch/sparc/kernel/process.c
@@ -120,7 +120,9 @@ void cpu_idle(void)
120 (*pm_idle)(); 120 (*pm_idle)();
121 } 121 }
122 122
123 preempt_enable_no_resched();
123 schedule(); 124 schedule();
125 preempt_disable();
124 check_pgt_cache(); 126 check_pgt_cache();
125 } 127 }
126} 128}
@@ -133,7 +135,9 @@ void cpu_idle(void)
133 /* endless idle loop with no priority at all */ 135 /* endless idle loop with no priority at all */
134 while(1) { 136 while(1) {
135 if(need_resched()) { 137 if(need_resched()) {
138 preempt_enable_no_resched();
136 schedule(); 139 schedule();
140 preempt_disable();
137 check_pgt_cache(); 141 check_pgt_cache();
138 } 142 }
139 barrier(); /* or else gcc optimizes... */ 143 barrier(); /* or else gcc optimizes... */