diff options
| -rw-r--r-- | arch/microblaze/kernel/entry-nommu.S | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/arch/microblaze/kernel/entry-nommu.S b/arch/microblaze/kernel/entry-nommu.S index 95b0855802df..391d6197fc3b 100644 --- a/arch/microblaze/kernel/entry-nommu.S +++ b/arch/microblaze/kernel/entry-nommu.S | |||
| @@ -122,7 +122,7 @@ ENTRY(_interrupt) | |||
| 122 | 122 | ||
| 123 | ret_from_intr: | 123 | ret_from_intr: |
| 124 | lwi r11, r1, PT_MODE | 124 | lwi r11, r1, PT_MODE |
| 125 | bneid r11, 3f | 125 | bneid r11, no_intr_resched |
| 126 | 126 | ||
| 127 | lwi r6, r31, TS_THREAD_INFO /* get thread info */ | 127 | lwi r6, r31, TS_THREAD_INFO /* get thread info */ |
| 128 | lwi r19, r6, TI_FLAGS /* get flags in thread info */ | 128 | lwi r19, r6, TI_FLAGS /* get flags in thread info */ |
| @@ -133,16 +133,18 @@ ret_from_intr: | |||
| 133 | bralid r15, schedule | 133 | bralid r15, schedule |
| 134 | nop | 134 | nop |
| 135 | 1: andi r11, r19, _TIF_SIGPENDING | 135 | 1: andi r11, r19, _TIF_SIGPENDING |
| 136 | beqid r11, no_intr_reshed | 136 | beqid r11, no_intr_resched |
| 137 | addk r5, r1, r0 | 137 | addk r5, r1, r0 |
| 138 | addk r7, r0, r0 | 138 | addk r7, r0, r0 |
| 139 | bralid r15, do_signal | 139 | bralid r15, do_signal |
| 140 | addk r6, r0, r0 | 140 | addk r6, r0, r0 |
| 141 | 141 | ||
| 142 | no_intr_reshed: | 142 | no_intr_resched: |
| 143 | /* Disable interrupts, we are now committed to the state restore */ | ||
| 144 | disable_irq | ||
| 145 | |||
| 143 | /* save mode indicator */ | 146 | /* save mode indicator */ |
| 144 | lwi r11, r1, PT_MODE | 147 | lwi r11, r1, PT_MODE |
| 145 | 3: | ||
| 146 | swi r11, r0, PER_CPU(KM) | 148 | swi r11, r0, PER_CPU(KM) |
| 147 | 149 | ||
| 148 | /* save r31 */ | 150 | /* save r31 */ |
