aboutsummaryrefslogtreecommitdiffstats
path: root/os/ports
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2009-08-28 14:49:46 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2009-08-28 14:49:46 +0000
commit518fc970306cf40da2a8f897a0b2c5abc4b134f8 (patch)
tree2a021ad457ed851a52ebeb8aaa739e1c9375a314 /os/ports
parentc4299aa2dac83bfe3cee1bf65bfa4ee9f84233bd (diff)
downloadChibiOS-518fc970306cf40da2a8f897a0b2c5abc4b134f8.tar.gz
ChibiOS-518fc970306cf40da2a8f897a0b2c5abc4b134f8.tar.bz2
ChibiOS-518fc970306cf40da2a8f897a0b2c5abc4b134f8.zip
Fixed bug 2846278.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1111 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/ports')
-rw-r--r--os/ports/GCC/ARMCM3/chcore.c2
-rw-r--r--os/ports/GCC/ARMCM3/chcore.h4
2 files changed, 3 insertions, 3 deletions
diff --git a/os/ports/GCC/ARMCM3/chcore.c b/os/ports/GCC/ARMCM3/chcore.c
index ad50bfc31..c0a45ffb8 100644
--- a/os/ports/GCC/ARMCM3/chcore.c
+++ b/os/ports/GCC/ARMCM3/chcore.c
@@ -151,8 +151,8 @@ void PendSVVector(void) {
Thread *otp;
register struct intctx *sp_thd asm("r12");
- chSysLockFromIsr();
asm volatile ("push {lr}");
+ chSysLockFromIsr();
if (!chSchRescRequiredI()) {
chSysUnlockFromIsr();
asm volatile ("pop {pc}");
diff --git a/os/ports/GCC/ARMCM3/chcore.h b/os/ports/GCC/ARMCM3/chcore.h
index 4b1a5355f..7d33251ad 100644
--- a/os/ports/GCC/ARMCM3/chcore.h
+++ b/os/ports/GCC/ARMCM3/chcore.h
@@ -233,7 +233,7 @@ struct context {
}
#else
#define port_lock() { \
- asm volatile ("bl _port_lock" : : : "r3", "lr"); \
+ asm volatile ("bl _port_lock" : : : "r3", "lr"); \
}
#endif
@@ -247,7 +247,7 @@ struct context {
}
#else
#define port_unlock() { \
- asm volatile ("bl _port_unlock" : : : "r3", "lr"); \
+ asm volatile ("bl _port_unlock" : : : "r3", "lr"); \
}
#endif