From 9bdf731fc0b22ff40c28d22fb18f5c7d3e7dafa8 Mon Sep 17 00:00:00 2001
From: gullradriel <gullradriel@no-mail.com>
Date: Wed, 18 Dec 2024 17:01:18 +0100
Subject: [PATCH 27/75] added memory clobber to prevent memory reordering

---
 firmware/common/locking.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/firmware/common/locking.h b/firmware/common/locking.h
index 2e0b6429..5620f2f9 100644
--- a/firmware/common/locking.h
+++ b/firmware/common/locking.h
@@ -40,14 +40,14 @@
 #else
 static inline uint32_t load_exclusive(volatile uint32_t* addr)
 {
-	__asm volatile("cpsid i");
+	__asm volatile("cpsid i" ::: "memory");
 	return *addr;
 }
 
 static inline uint32_t store_exclusive(uint32_t val, volatile uint32_t* addr)
 {
 	*addr = val;
-	__asm volatile("cpsie i");
+	__asm volatile("cpsie i" ::: "memory");
 	return 0;
 }
 #endif
-- 
2.47.3

