summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/arm/shared/irq/irq_asm.S
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/arm/shared/irq/irq_asm.S')
-rw-r--r--c/src/lib/libbsp/arm/shared/irq/irq_asm.S6
1 files changed, 6 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/arm/shared/irq/irq_asm.S b/c/src/lib/libbsp/arm/shared/irq/irq_asm.S
index ddde872d94..a3009d1be3 100644
--- a/c/src/lib/libbsp/arm/shared/irq/irq_asm.S
+++ b/c/src/lib/libbsp/arm/shared/irq/irq_asm.S
@@ -62,6 +62,12 @@ _ISR_Handler:
cmp r0, #0x12 /* is it INT mode? */
beq exitit
+/* check to see if we interrupted nd INT (with FIQ?) */
+ mrs r0, spsr
+ and r0, r0, #0x1f
+ cmp r0, #0x12 /* is it INT mode? */
+ beq exitit
+
/* If thread dispatching is disabled, exit */
cmp r1, #0
bne exitit