diff options
-rw-r--r-- | arch/mips/kernel/entry.S | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/arch/mips/kernel/entry.S b/arch/mips/kernel/entry.S index 5eb429137e06..5e9a44168681 100644 --- a/arch/mips/kernel/entry.S +++ b/arch/mips/kernel/entry.S | |||
@@ -128,28 +128,25 @@ FEXPORT(syscall_exit_work) | |||
128 | /* | 128 | /* |
129 | * Common spurious interrupt handler. | 129 | * Common spurious interrupt handler. |
130 | */ | 130 | */ |
131 | .text | ||
132 | .align 5 | ||
133 | LEAF(spurious_interrupt) | 131 | LEAF(spurious_interrupt) |
134 | /* | 132 | /* |
135 | * Someone tried to fool us by sending an interrupt but we | 133 | * Someone tried to fool us by sending an interrupt but we |
136 | * couldn't find a cause for it. | 134 | * couldn't find a cause for it. |
137 | */ | 135 | */ |
136 | PTR_LA t1, irq_err_count | ||
138 | #ifdef CONFIG_SMP | 137 | #ifdef CONFIG_SMP |
139 | lui t1, %hi(irq_err_count) | 138 | 1: ll t0, (t1) |
140 | 1: ll t0, %lo(irq_err_count)(t1) | ||
141 | addiu t0, 1 | 139 | addiu t0, 1 |
142 | sc t0, %lo(irq_err_count)(t1) | 140 | sc t0, (t1) |
143 | #if R10000_LLSC_WAR | 141 | #if R10000_LLSC_WAR |
144 | beqzl t0, 1b | 142 | beqzl t0, 1b |
145 | #else | 143 | #else |
146 | beqz t0, 1b | 144 | beqz t0, 1b |
147 | #endif | 145 | #endif |
148 | #else | 146 | #else |
149 | lui t1, %hi(irq_err_count) | 147 | lw t0, (t1) |
150 | lw t0, %lo(irq_err_count)(t1) | ||
151 | addiu t0, 1 | 148 | addiu t0, 1 |
152 | sw t0, %lo(irq_err_count)(t1) | 149 | sw t0, (t1) |
153 | #endif | 150 | #endif |
154 | j ret_from_irq | 151 | j ret_from_irq |
155 | END(spurious_interrupt) | 152 | END(spurious_interrupt) |