diff --git a/sched/clock/clock_initialize.c b/sched/clock/clock_initialize.c index 020bb2e9b66a6..ba02b0893a646 100644 --- a/sched/clock/clock_initialize.c +++ b/sched/clock/clock_initialize.c @@ -163,6 +163,8 @@ static void clock_inittime(FAR const struct timespec *tp) struct timespec ts; irqstate_t flags; + clock_systime_timespec(&ts); + flags = spin_lock_irqsave(&g_basetime_lock); if (tp) { @@ -173,12 +175,6 @@ static void clock_inittime(FAR const struct timespec *tp) clock_basetime(&g_basetime); } - spin_unlock_irqrestore(&g_basetime_lock, flags); - - clock_systime_timespec(&ts); - - flags = spin_lock_irqsave(&g_basetime_lock); - /* Adjust base time to hide initial timer ticks. */ g_basetime.tv_sec -= ts.tv_sec;