[rtems commit] bsp/tms570: Avoid spurious interrupts

Sebastian Huber sebh at rtems.org
Mon Jan 15 09:36:31 UTC 2024


Module:    rtems
Branch:    master
Commit:    cf01329e244fa9d96a42d0385d577225718e54aa
Changeset: http://git.rtems.org/rtems/commit/?id=cf01329e244fa9d96a42d0385d577225718e54aa

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Thu Dec 21 15:16:48 2023 +0100

bsp/tms570: Avoid spurious interrupts

Update #4982.

---

 bsps/arm/tms570/irq/irq.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

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)



More information about the vc mailing list