Commit b59a9504 authored by Thiemo Seufer's avatar Thiemo Seufer Committed by Ralf Baechle

De-optimize and decomplicate the spurious interrupt handler.

Signed-off-by: default avatarThiemo Seufer <ths@networkno.de>
Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent 942b6f62
...@@ -128,28 +128,25 @@ FEXPORT(syscall_exit_work) ...@@ -128,28 +128,25 @@ FEXPORT(syscall_exit_work)
/* /*
* Common spurious interrupt handler. * Common spurious interrupt handler.
*/ */
.text
.align 5
LEAF(spurious_interrupt) LEAF(spurious_interrupt)
/* /*
* Someone tried to fool us by sending an interrupt but we * Someone tried to fool us by sending an interrupt but we
* couldn't find a cause for it. * couldn't find a cause for it.
*/ */
PTR_LA t1, irq_err_count
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
lui t1, %hi(irq_err_count) 1: ll t0, (t1)
1: ll t0, %lo(irq_err_count)(t1)
addiu t0, 1 addiu t0, 1
sc t0, %lo(irq_err_count)(t1) sc t0, (t1)
#if R10000_LLSC_WAR #if R10000_LLSC_WAR
beqzl t0, 1b beqzl t0, 1b
#else #else
beqz t0, 1b beqz t0, 1b
#endif #endif
#else #else
lui t1, %hi(irq_err_count) lw t0, (t1)
lw t0, %lo(irq_err_count)(t1)
addiu t0, 1 addiu t0, 1
sw t0, %lo(irq_err_count)(t1) sw t0, (t1)
#endif #endif
j ret_from_irq j ret_from_irq
END(spurious_interrupt) END(spurious_interrupt)
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment