diff --git a/libuavcan_drivers/stm32/driver/src/uc_stm32_clock.cpp b/libuavcan_drivers/stm32/driver/src/uc_stm32_clock.cpp index d772e54423..1a04569acc 100644 --- a/libuavcan_drivers/stm32/driver/src/uc_stm32_clock.cpp +++ b/libuavcan_drivers/stm32/driver/src/uc_stm32_clock.cpp @@ -405,8 +405,6 @@ void setUtcSyncParams(const UtcSyncParams& params) SystemClock& SystemClock::instance() { - MutexLocker mlocker(clock::mutex); - static union SystemClockStorage { uavcan::uint8_t buffer[sizeof(SystemClock)]; @@ -418,6 +416,7 @@ SystemClock& SystemClock::instance() if (!clock::initialized) { + MutexLocker mlocker(clock::mutex); clock::init(); new (ptr)SystemClock(); }