summaryrefslogtreecommitdiff
path: root/firmware/target/arm/s5l8700/system-s5l8700.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/s5l8700/system-s5l8700.c')
-rw-r--r--firmware/target/arm/s5l8700/system-s5l8700.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/firmware/target/arm/s5l8700/system-s5l8700.c b/firmware/target/arm/s5l8700/system-s5l8700.c
index a282c45235..48c50645e9 100644
--- a/firmware/target/arm/s5l8700/system-s5l8700.c
+++ b/firmware/target/arm/s5l8700/system-s5l8700.c
@@ -96,15 +96,12 @@ void irq_handler(void)
96 "sub sp, sp, #8 \n"); /* Reserve stack */ 96 "sub sp, sp, #8 \n"); /* Reserve stack */
97 97
98 int irq_no = INTOFFSET; 98 int irq_no = INTOFFSET;
99 int sources = SRCPND;
100
101 if (irq_no==10) { INTMSK &= ~(1<<10); }
102 99
103 irqvector[irq_no](); 100 irqvector[irq_no]();
104 101
105 /* clear interrupt */ 102 /* clear interrupt */
106 SRCPND = sources; 103 SRCPND = (1 << irq_no);
107 INTPND = sources; 104 INTPND = INTPND;
108 105
109 asm volatile( "add sp, sp, #8 \n" /* Cleanup stack */ 106 asm volatile( "add sp, sp, #8 \n" /* Cleanup stack */
110 "ldmfd sp!, {r0-r7, ip, lr} \n" /* Restore context */ 107 "ldmfd sp!, {r0-r7, ip, lr} \n" /* Restore context */