mirror of
https://github.com/torvalds/linux.git
synced 2024-12-01 00:21:32 +00:00
De-optimize and decomplicate the spurious interrupt handler.
Signed-off-by: Thiemo Seufer <ths@networkno.de> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
parent
942b6f6216
commit
b59a9504cb
@ -128,28 +128,25 @@ FEXPORT(syscall_exit_work)
|
||||
/*
|
||||
* Common spurious interrupt handler.
|
||||
*/
|
||||
.text
|
||||
.align 5
|
||||
LEAF(spurious_interrupt)
|
||||
/*
|
||||
* Someone tried to fool us by sending an interrupt but we
|
||||
* couldn't find a cause for it.
|
||||
*/
|
||||
PTR_LA t1, irq_err_count
|
||||
#ifdef CONFIG_SMP
|
||||
lui t1, %hi(irq_err_count)
|
||||
1: ll t0, %lo(irq_err_count)(t1)
|
||||
1: ll t0, (t1)
|
||||
addiu t0, 1
|
||||
sc t0, %lo(irq_err_count)(t1)
|
||||
sc t0, (t1)
|
||||
#if R10000_LLSC_WAR
|
||||
beqzl t0, 1b
|
||||
#else
|
||||
beqz t0, 1b
|
||||
#endif
|
||||
#else
|
||||
lui t1, %hi(irq_err_count)
|
||||
lw t0, %lo(irq_err_count)(t1)
|
||||
lw t0, (t1)
|
||||
addiu t0, 1
|
||||
sw t0, %lo(irq_err_count)(t1)
|
||||
sw t0, (t1)
|
||||
#endif
|
||||
j ret_from_irq
|
||||
END(spurious_interrupt)
|
||||
|
Loading…
Reference in New Issue
Block a user