diff options
Diffstat (limited to 'firmware/target/arm/s5l8700/system-s5l8700.c')
-rw-r--r-- | firmware/target/arm/s5l8700/system-s5l8700.c | 7 |
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 */ |