From cf01329e244fa9d96a42d0385d577225718e54aa Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Thu, 21 Dec 2023 15:16:48 +0100 Subject: bsp/tms570: Avoid spurious interrupts Update #4982. --- bsps/arm/tms570/irq/irq.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'bsps/arm') diff --git a/bsps/arm/tms570/irq/irq.c b/bsps/arm/tms570/irq/irq.c index 684e3d47fb..9a80e0e3d2 100644 --- a/bsps/arm/tms570/irq/irq.c +++ b/bsps/arm/tms570/irq/irq.c @@ -166,9 +166,17 @@ rtems_status_code tms570_irq_get_priority( */ void bsp_interrupt_dispatch(void) { - rtems_vector_number vector = TMS570_VIM.IRQINDEX-1; + while (true) { + uint32_t irqindex; - bsp_interrupt_handler_dispatch(vector); + irqindex = TMS570_VIM.IRQINDEX; + + if (irqindex == 0) { + return; + } + + bsp_interrupt_handler_dispatch(irqindex - 1); + } } static bool can_disable(rtems_vector_number vector) -- cgit v1.2.3