summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/m68k
diff options
context:
space:
mode:
authorEric Norum <WENorum@lbl.gov>2005-02-08 00:21:08 +0000
committerEric Norum <WENorum@lbl.gov>2005-02-08 00:21:08 +0000
commitf3f4be7a2c501870543f0cd220dab7e982257451 (patch)
tree2291e71441d4ccd18cbe173ce5677ea8120186c0 /c/src/lib/libbsp/m68k
parentSet INTC0_ICRx registers properly. (diff)
downloadrtems-f3f4be7a2c501870543f0cd220dab7e982257451.tar.bz2
Ensure consistency of 'installed' bitmap.
Diffstat (limited to 'c/src/lib/libbsp/m68k')
-rw-r--r--c/src/lib/libbsp/m68k/uC5282/startup/bspstart.c6
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)