summaryrefslogtreecommitdiffstats
path: root/bsps/arm
diff options
context:
space:
mode:
Diffstat (limited to 'bsps/arm')
-rw-r--r--bsps/arm/tms570/irq/irq.c12
1 files 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)