diff options
Diffstat (limited to 'arch/parisc/kernel/entry.S')
-rw-r--r-- | arch/parisc/kernel/entry.S | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/arch/parisc/kernel/entry.S b/arch/parisc/kernel/entry.S index 36f4f1dcb778..3f3326d876f7 100644 --- a/arch/parisc/kernel/entry.S +++ b/arch/parisc/kernel/entry.S | |||
@@ -833,11 +833,6 @@ ENTRY(syscall_exit_rfi) | |||
833 | STREG %r19,PT_SR7(%r16) | 833 | STREG %r19,PT_SR7(%r16) |
834 | 834 | ||
835 | intr_return: | 835 | intr_return: |
836 | /* NOTE: Need to enable interrupts incase we schedule. */ | ||
837 | ssm PSW_SM_I, %r0 | ||
838 | |||
839 | intr_check_resched: | ||
840 | |||
841 | /* check for reschedule */ | 836 | /* check for reschedule */ |
842 | mfctl %cr30,%r1 | 837 | mfctl %cr30,%r1 |
843 | LDREG TI_FLAGS(%r1),%r19 /* sched.h: TIF_NEED_RESCHED */ | 838 | LDREG TI_FLAGS(%r1),%r19 /* sched.h: TIF_NEED_RESCHED */ |
@@ -864,6 +859,11 @@ intr_check_sig: | |||
864 | LDREG PT_IASQ1(%r16), %r20 | 859 | LDREG PT_IASQ1(%r16), %r20 |
865 | cmpib,COND(=),n 0,%r20,intr_restore /* backward */ | 860 | cmpib,COND(=),n 0,%r20,intr_restore /* backward */ |
866 | 861 | ||
862 | /* NOTE: We need to enable interrupts if we have to deliver | ||
863 | * signals. We used to do this earlier but it caused kernel | ||
864 | * stack overflows. */ | ||
865 | ssm PSW_SM_I, %r0 | ||
866 | |||
867 | copy %r0, %r25 /* long in_syscall = 0 */ | 867 | copy %r0, %r25 /* long in_syscall = 0 */ |
868 | #ifdef CONFIG_64BIT | 868 | #ifdef CONFIG_64BIT |
869 | ldo -16(%r30),%r29 /* Reference param save area */ | 869 | ldo -16(%r30),%r29 /* Reference param save area */ |
@@ -915,6 +915,10 @@ intr_do_resched: | |||
915 | cmpib,COND(=) 0, %r20, intr_do_preempt | 915 | cmpib,COND(=) 0, %r20, intr_do_preempt |
916 | nop | 916 | nop |
917 | 917 | ||
918 | /* NOTE: We need to enable interrupts if we schedule. We used | ||
919 | * to do this earlier but it caused kernel stack overflows. */ | ||
920 | ssm PSW_SM_I, %r0 | ||
921 | |||
918 | #ifdef CONFIG_64BIT | 922 | #ifdef CONFIG_64BIT |
919 | ldo -16(%r30),%r29 /* Reference param save area */ | 923 | ldo -16(%r30),%r29 /* Reference param save area */ |
920 | #endif | 924 | #endif |