diff options
Diffstat (limited to '')
-rw-r--r-- | testsuites/smptests/smpcache01/init.c | 5 | ||||
-rw-r--r-- | testsuites/smptests/smpmulticast01/init.c | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/testsuites/smptests/smpcache01/init.c b/testsuites/smptests/smpcache01/init.c index 878a015bf1..e9cee1eec5 100644 --- a/testsuites/smptests/smpcache01/init.c +++ b/testsuites/smptests/smpcache01/init.c @@ -126,12 +126,15 @@ static void call_tests_isr_disabled( SMP_barrier_State *bs ) broadcast_test_init(); for (i = 0; i < RTEMS_ARRAY_SIZE( test_cases ); ++i) { - ISR_Level isr_level; + Per_CPU_Control *cpu_self; + ISR_Level isr_level; + cpu_self = _Thread_Dispatch_disable(); _ISR_Local_disable( isr_level ); barrier( bs ); ( *test_cases[ i ] )(); _ISR_Local_enable( isr_level ); + _Thread_Dispatch_enable( cpu_self ); barrier( bs ); } diff --git a/testsuites/smptests/smpmulticast01/init.c b/testsuites/smptests/smpmulticast01/init.c index 2319582ab6..e599a78bde 100644 --- a/testsuites/smptests/smpmulticast01/init.c +++ b/testsuites/smptests/smpmulticast01/init.c @@ -59,11 +59,14 @@ static void multicast_action_irq_disabled( void *arg ) { + Per_CPU_Control *cpu_self; rtems_interrupt_level level; + cpu_self = _Thread_Dispatch_disable(); rtems_interrupt_local_disable(level); _SMP_Multicast_action(targets, handler, arg); rtems_interrupt_local_enable(level); + _Thread_Dispatch_enable(cpu_self); } static void multicast_action_dispatch_disabled( |