]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/mn10300/kernel/entry.S
MN10300: Fix the preemption resume_kernel() routine
[linux-2.6-omap-h63xx.git] / arch / mn10300 / kernel / entry.S
index 11de3606eee6d004e351f86bd4df0b1ce7800d55..62fba8aa9b6e1ae84aa8cc1583d57a8e628f16d6 100644 (file)
@@ -180,6 +180,7 @@ ENTRY(resume_userspace)
 
 #ifdef CONFIG_PREEMPT
 ENTRY(resume_kernel)
+       __cli
        mov     (TI_preempt_count,a2),d0        # non-zero preempt_count ?
        cmp     0,d0
        bne     restore_all
@@ -190,7 +191,7 @@ need_resched:
        mov     (REG_EPSW,fp),d0
        and     EPSW_IM,d0
        cmp     EPSW_IM_7,d0            # interrupts off (exception path) ?
-       beq     restore_all
+       bne     restore_all
        call    preempt_schedule_irq[],0
        jmp     need_resched
 #endif
@@ -716,6 +717,12 @@ ENTRY(sys_call_table)
        .long sys_fallocate             /* 325 */
        .long sys_timerfd_settime
        .long sys_timerfd_gettime
+       .long sys_signalfd4
+       .long sys_eventfd2
+       .long sys_epoll_create1         /* 330 */
+       .long sys_dup3
+       .long sys_pipe2
+       .long sys_inotify_init1
 
 
 nr_syscalls=(.-sys_call_table)/4