Use preempt_schedule_irq.
authorRalf Baechle <ralf@linux-mips.org>
Mon, 7 Feb 2005 02:54:29 +0000 (02:54 +0000)
committerRalf Baechle <ralf@linux-mips.org>
Sat, 29 Oct 2005 18:30:27 +0000 (19:30 +0100)
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/kernel/entry.S

index be0354a14e262ba2364e11bb3c117e2cf084a966..ebc1a5d4f8b8da698a9a43e05b3b4d8a7040332a 100644 (file)
@@ -48,6 +48,7 @@ resume_userspace:
 
 #ifdef CONFIG_PREEMPT
 resume_kernel:
+       local_irq_disable
        lw      t0, TI_PRE_COUNT($28)
        bnez    t0, restore_all
 need_resched:
@@ -59,11 +60,7 @@ need_resched:
        beqz    t0, restore_all
        li      t0, PREEMPT_ACTIVE
        sw      t0, TI_PRE_COUNT($28)
-       local_irq_enable
-       jal     schedule
-       sw      zero, TI_PRE_COUNT($28)
-       local_irq_disable
-       b       need_resched
+       jal     preempt_schedule_irq
 #endif
 
 FEXPORT(ret_from_fork)