diff options
Diffstat (limited to 'c/src/lib')
-rw-r--r-- | c/src/lib/libbsp/m68k/uC5282/startup/bspstart.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/c/src/lib/libbsp/m68k/uC5282/startup/bspstart.c b/c/src/lib/libbsp/m68k/uC5282/startup/bspstart.c index e494dc34ed..3258841889 100644 --- a/c/src/lib/libbsp/m68k/uC5282/startup/bspstart.c +++ b/c/src/lib/libbsp/m68k/uC5282/startup/bspstart.c @@ -354,9 +354,13 @@ BSP_installVME_isr(unsigned long vector, BSP_VME_ISR_t handler, void *usrArg) rtems_interrupt_level level; static unsigned char installed[8]; - if (installed[source/8] & (1 << (source % 8))) + rtems_interrupt_disable(level); + if (installed[source/8] & (1 << (source % 8))) { + rtems_interrupt_enable(level); return 0; + } installed[source/8] |= (1 << (source % 8)); + rtems_interrupt_enable(level); for (l = 1 ; l < 7 ; l++) { for (p = 0 ; p < 7 ; p++) { if ((source < 8) |