#1805 fix merge issue in pico_atomic which ended up with using IRQ disble instead of spin lock (#1838)

This commit is contained in:
Graham Sanderson 2024-08-19 12:13:51 -05:00 committed by GitHub
parent b271208071
commit 62df126ad5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -12,14 +12,11 @@
#define memcmp __builtin_memcmp
static inline uint32_t atomic_lock(__unused const volatile void *ptr) {
uint32_t save = save_and_disable_interrupts();
// __dmb(); not necessary on RP2040
return save;
return spin_lock_blocking(spin_lock_instance(PICO_SPINLOCK_ID_ATOMIC));
}
static inline void atomic_unlock(__unused const volatile void *ptr, uint32_t save) {
// __dmb(); not necessary on RP2040
restore_interrupts_from_disabled(save);
spin_unlock(spin_lock_instance(PICO_SPINLOCK_ID_ATOMIC), save);
}
#if PICO_C_COMPILER_IS_GNU