[PATCH 13/47] bsp/tms570: Avoid spurious interrupts
Sebastian Huber
sebastian.huber at embedded-brains.de
Thu Dec 21 14:37:46 UTC 2023
---
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)
--
2.35.3
More information about the devel
mailing list