mirror of
https://github.com/apache/nuttx.git
synced 2026-06-05 15:58:59 +08:00
ARMv7-A interrupt handler: Should not automatically re-enable interrupts on interrupt return. That interferes with the driver's ability to manage interrupts.
This commit is contained in:
@@ -87,10 +87,6 @@ uint32_t *arm_doirq(int irq, uint32_t *regs)
|
|||||||
|
|
||||||
current_regs = regs;
|
current_regs = regs;
|
||||||
|
|
||||||
/* Mask and acknowledge the interrupt */
|
|
||||||
|
|
||||||
up_maskack_irq(irq);
|
|
||||||
|
|
||||||
/* Deliver the IRQ */
|
/* Deliver the IRQ */
|
||||||
|
|
||||||
irq_dispatch(irq, regs);
|
irq_dispatch(irq, regs);
|
||||||
@@ -129,10 +125,6 @@ uint32_t *arm_doirq(int irq, uint32_t *regs)
|
|||||||
|
|
||||||
regs = (uint32_t *)current_regs;
|
regs = (uint32_t *)current_regs;
|
||||||
current_regs = NULL;
|
current_regs = NULL;
|
||||||
|
|
||||||
/* Unmask the last interrupt (global interrupts are still disabled) */
|
|
||||||
|
|
||||||
up_enable_irq(irq);
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
board_led_off(LED_INIRQ);
|
board_led_off(LED_INIRQ);
|
||||||
|
|||||||
Reference in New Issue
Block a user