summaryrefslogtreecommitdiffstats
path: root/cpukit
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2011-08-18 06:45:35 +0000
committerSebastian Huber <sebastian.huber@embedded-brains.de>2011-08-18 06:45:35 +0000
commit180b106e340562d73efd5667b5e33cfc0363bb6d (patch)
treed632a2b55a040e3401638d10374ef3fe62857b04 /cpukit
parent2011-08-17 Sebastian Huber <sebastian.huber@embedded-brains.de> (diff)
downloadrtems-180b106e340562d73efd5667b5e33cfc0363bb6d.tar.bz2
2011-08-18 Sebastien Bourdeauducq <sebastien.bourdeauducq@gmail.com>
PR 1868/lm32 * irq.c: Bugfix.
Diffstat (limited to 'cpukit')
-rw-r--r--cpukit/score/cpu/lm32/ChangeLog5
-rw-r--r--cpukit/score/cpu/lm32/irq.c3
2 files changed, 6 insertions, 2 deletions
diff --git a/cpukit/score/cpu/lm32/ChangeLog b/cpukit/score/cpu/lm32/ChangeLog
index 0d8c219fcf..a6b580088b 100644
--- a/cpukit/score/cpu/lm32/ChangeLog
+++ b/cpukit/score/cpu/lm32/ChangeLog
@@ -1,3 +1,8 @@
+2011-08-18 Sebastien Bourdeauducq <sebastien.bourdeauducq@gmail.com>
+
+ PR 1868/lm32
+ * irq.c: Bugfix.
+
2011-07-24 Joel Sherrill <joel.sherrill@oarcorp.com>
* cpu.c: Remove /*PAGE markers which were interpreted by a long dead
diff --git a/cpukit/score/cpu/lm32/irq.c b/cpukit/score/cpu/lm32/irq.c
index f28061ff99..91a77f3335 100644
--- a/cpukit/score/cpu/lm32/irq.c
+++ b/cpukit/score/cpu/lm32/irq.c
@@ -78,8 +78,7 @@ void __ISR_Handler(uint32_t vector, CPU_Interrupt_frame *ifr)
if ( _ISR_Nest_level )
return;
- if ( _Thread_Dispatch_necessary ) {
-
+ if ( _Thread_Dispatch_necessary && !_Thread_Dispatch_in_critical_section() ) {
/* save off our stack frame so the context switcher can get to it */
_exception_stack_frame = ifr;