summaryrefslogtreecommitdiff
path: root/arch/mips/ddb5xxx
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips/ddb5xxx')
-rw-r--r--arch/mips/ddb5xxx/ddb5476/int-handler.S3
-rw-r--r--arch/mips/ddb5xxx/ddb5476/vrc5476_irq.c4
-rw-r--r--arch/mips/ddb5xxx/ddb5477/int-handler.S4
3 files changed, 5 insertions, 6 deletions
diff --git a/arch/mips/ddb5xxx/ddb5476/int-handler.S b/arch/mips/ddb5xxx/ddb5476/int-handler.S
index 12c292e189ba..0c2bdae96bb1 100644
--- a/arch/mips/ddb5xxx/ddb5476/int-handler.S
+++ b/arch/mips/ddb5xxx/ddb5476/int-handler.S
@@ -54,7 +54,8 @@
.set reorder
/* wrong alarm or masked ... */
- // j spurious_interrupt
+ // jal spurious_interrupt
+ // j ret_from_irq
move a0, sp
jal vrc5476_irq_dispatch
j ret_from_irq
diff --git a/arch/mips/ddb5xxx/ddb5476/vrc5476_irq.c b/arch/mips/ddb5xxx/ddb5476/vrc5476_irq.c
index f66fe5b58636..581eabad5f82 100644
--- a/arch/mips/ddb5xxx/ddb5476/vrc5476_irq.c
+++ b/arch/mips/ddb5xxx/ddb5476/vrc5476_irq.c
@@ -80,8 +80,6 @@ vrc5476_irq_init(u32 base)
asmlinkage void
vrc5476_irq_dispatch(struct pt_regs *regs)
{
- extern void spurious_interrupt(void);
-
u32 mask;
int nile4_irq;
@@ -107,5 +105,5 @@ vrc5476_irq_dispatch(struct pt_regs *regs)
return;
}
}
- spurious_interrupt();
+ spurious_interrupt(regs);
}
diff --git a/arch/mips/ddb5xxx/ddb5477/int-handler.S b/arch/mips/ddb5xxx/ddb5477/int-handler.S
index a2502a14400e..9884874dbeb5 100644
--- a/arch/mips/ddb5xxx/ddb5477/int-handler.S
+++ b/arch/mips/ddb5xxx/ddb5477/int-handler.S
@@ -44,8 +44,8 @@
.set reorder
/* wrong alarm or masked ... */
- j spurious_interrupt
- nop
+ jal spurious_interrupt
+ j ret_from_irq
END(ddb5477_handle_int)
.align 5