summaryrefslogtreecommitdiff
path: root/libcpu/arm
diff options
context:
space:
mode:
Diffstat (limited to 'libcpu/arm')
-rw-r--r--libcpu/arm/common/atomic_arm.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libcpu/arm/common/atomic_arm.c b/libcpu/arm/common/atomic_arm.c
index 81ada079f3..bcdb496317 100644
--- a/libcpu/arm/common/atomic_arm.c
+++ b/libcpu/arm/common/atomic_arm.c
@@ -77,7 +77,7 @@ rt_atomic_t rt_hw_atomic_load(volatile rt_atomic_t *ptr)
{
oldval = __LDREXW(ptr);
} while ((__STREXW(oldval, ptr)) != 0U);
- return *ptr;
+ return oldval;
}
void rt_hw_atomic_store(volatile rt_atomic_t *ptr, rt_atomic_t val)
@@ -166,7 +166,7 @@ rt_atomic_t rt_hw_atomic_flag_test_and_set(volatile rt_atomic_t *ptr)
return oldval;
}
-rt_atomic_t rt_hw_atomic_compare_exchange_strong(volatile rt_atomic_t *ptr, rt_atomic_t *old, rt_atomic_t new)
+rt_atomic_t rt_hw_atomic_compare_exchange_strong(volatile rt_atomic_t *ptr, volatile rt_atomic_t *old, rt_atomic_t new)
{
rt_atomic_t result;
rt_atomic_t temp = *old;