[rtems commit] score: Fix ISR enable in _Thread_Dispatch_enable()

Sebastian Huber sebh at rtems.org
Mon Aug 20 06:40:51 UTC 2018


Module:    rtems
Branch:    4.11
Commit:    dc6bd8bb665a6517c324e552745524b06fe6eef8
Changeset: http://git.rtems.org/rtems/commit/?id=dc6bd8bb665a6517c324e552745524b06fe6eef8

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Mon Aug 20 08:40:24 2018 +0200

score: Fix ISR enable in _Thread_Dispatch_enable()

This bug had probably no effect since the interrupt enable is idempotent
on all CPU ports.

Close #3497.

---

 cpukit/score/include/rtems/score/threaddispatch.h | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/cpukit/score/include/rtems/score/threaddispatch.h b/cpukit/score/include/rtems/score/threaddispatch.h
index 4ef5538..322682d 100644
--- a/cpukit/score/include/rtems/score/threaddispatch.h
+++ b/cpukit/score/include/rtems/score/threaddispatch.h
@@ -314,9 +314,8 @@ RTEMS_INLINE_ROUTINE void _Thread_Dispatch_enable( Per_CPU_Control *cpu_self )
     } else {
       cpu_self->thread_dispatch_disable_level = 0;
       _Profiling_Thread_dispatch_enable( cpu_self, 0 );
+      _ISR_Enable_without_giant( level );
     }
-
-    _ISR_Enable_without_giant( level );
   } else {
     cpu_self->thread_dispatch_disable_level = disable_level - 1;
   }



More information about the vc mailing list