Use the proper function instead of fiddling with PREEMPT_ACTIVE and interrupt enable/disable in the low level code. Signed-off-by: Thomas Gleixner Cc: Yoshinori Sato Cc: Geert Uytterhoeven --- arch/h8300/kernel/entry.S | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) Index: linux-2.6/arch/h8300/kernel/entry.S =================================================================== --- linux-2.6.orig/arch/h8300/kernel/entry.S +++ linux-2.6/arch/h8300/kernel/entry.S @@ -316,13 +316,9 @@ need_resched: beq restore_all:8 mov.b @(LCCR+1:16,sp),r0l /* Interrupt Enabled? */ bmi restore_all:8 - mov.l #PREEMPT_ACTIVE,er0 - mov.l er0,@(TI_PRE_COUNT:16,er4) - andc #0x7f,ccr mov.l sp,er0 jsr @_set_esp0 - jsr @_schedule - orc #0x80,ccr + jsr @_preempt_schedule_irq bra need_resched:8 #endif