summaryrefslogtreecommitdiff
path: root/firmware/target/arm/as3525/system-as3525.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/as3525/system-as3525.c')
-rw-r--r--firmware/target/arm/as3525/system-as3525.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/firmware/target/arm/as3525/system-as3525.c b/firmware/target/arm/as3525/system-as3525.c
index 82a0a01795..649ba77527 100644
--- a/firmware/target/arm/as3525/system-as3525.c
+++ b/firmware/target/arm/as3525/system-as3525.c
@@ -104,8 +104,7 @@ void irq_handler(void)
104 * Based on: linux/arch/arm/kernel/entry-armv.S and system-meg-fx.c 104 * Based on: linux/arch/arm/kernel/entry-armv.S and system-meg-fx.c
105 */ 105 */
106 106
107 asm volatile( "stmfd sp!, {r0-r7, ip, lr} \n" /* Store context */ 107 asm volatile( "stmfd sp!, {r0-r7, ip, lr} \n" );/* Store context */
108 "sub sp, sp, #8 \n"); /* Reserve stack */
109 108
110 unsigned int irq_no = 0; 109 unsigned int irq_no = 0;
111 int status = VIC_IRQ_STATUS; 110 int status = VIC_IRQ_STATUS;
@@ -114,8 +113,7 @@ void irq_handler(void)
114 113
115 irqvector[irq_no](); 114 irqvector[irq_no]();
116 115
117 asm volatile( "add sp, sp, #8 \n" /* Cleanup stack */ 116 asm volatile( "ldmfd sp!, {r0-r7, ip, lr} \n" /* Restore context */
118 "ldmfd sp!, {r0-r7, ip, lr} \n" /* Restore context */
119 "subs pc, lr, #4 \n"); /* Return from IRQ */ 117 "subs pc, lr, #4 \n"); /* Return from IRQ */
120} 118}
121 119