diff --git a/arch/arm/src/armv7-a/arm_gicv2.c b/arch/arm/src/armv7-a/arm_gicv2.c index 82d486f6534..87c5aa19e3b 100644 --- a/arch/arm/src/armv7-a/arm_gicv2.c +++ b/arch/arm/src/armv7-a/arm_gicv2.c @@ -30,6 +30,7 @@ #include #include +#include #include #include "arm_internal.h" @@ -68,7 +69,11 @@ static volatile cpu_set_t g_gic_init_done; #if defined(CONFIG_SMP) && CONFIG_SMP_NCPUS > 1 static void arm_gic_init_done(void) { + irqstate_t flags; + + flags = spin_lock_irqsave(NULL); CPU_SET(up_cpu_index(), &g_gic_init_done); + spin_unlock_irqrestore(NULL, flags); } static void arm_gic_wait_done(cpu_set_t cpuset)