From bbeb7030a4019c51bb574c7925356c88e0d84d28 Mon Sep 17 00:00:00 2001 From: Vinayak Chettimada Date: Thu, 1 Sep 2016 20:44:36 +0200 Subject: [PATCH] ARM: irq: Do not clear pending IRQ when enabling them. Do not clear pending IRQ when enabling an IRQ on ARM architectures. Peripherals and S/W ISRs may be required to be deferred until they are enabled later and the pended IRQ should be retained for the ISR to be vectored to when enabled. Change-id: I808183018d8a2cc58390a1de3b4797b2bb7c6ec9 Signed-off-by: Vinayak Chettimada --- arch/arm/core/irq_manage.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/arch/arm/core/irq_manage.c b/arch/arm/core/irq_manage.c index 6f7ffdaf6d1..c97e51dc361 100644 --- a/arch/arm/core/irq_manage.c +++ b/arch/arm/core/irq_manage.c @@ -39,16 +39,13 @@ extern void __reserved(void); * * @brief Enable an interrupt line * - * Clear possible pending interrupts on the line, and enable the interrupt - * line. After this call, the CPU will receive interrupts for the specified - * . + * Enable the interrupt. After this call, the CPU will receive interrupts for + * the specified . * * @return N/A */ void _arch_irq_enable(unsigned int irq) { - /* before enabling interrupts, ensure that interrupt is cleared */ - _NvicIrqUnpend(irq); _NvicIrqEnable(irq); }