From d5556cafedbdfc1fcf2a8f5dc043cdbe0444ea85 Mon Sep 17 00:00:00 2001 From: Carlo Caione Date: Wed, 31 Mar 2021 10:19:54 +0200 Subject: [PATCH] arm_arch_timer: Fix ticks count on !CONFIG_TICKLESS_KERNEL When SMP is enabled all the cores are announcing a tick and this is causing too many ticks to be announced. Announce the tick even if this is zero. Signed-off-by: Carlo Caione --- drivers/timer/arm_arch_timer.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/timer/arm_arch_timer.c b/drivers/timer/arm_arch_timer.c index b01e393f1c..7bb7338ac3 100644 --- a/drivers/timer/arm_arch_timer.c +++ b/drivers/timer/arm_arch_timer.c @@ -16,7 +16,7 @@ #define MIN_DELAY (1000) static struct k_spinlock lock; -static volatile uint64_t last_cycle; +static uint64_t last_cycle; static void arm_arch_timer_compare_isr(const void *arg) { @@ -43,7 +43,7 @@ static void arm_arch_timer_compare_isr(const void *arg) k_spin_unlock(&lock, key); - sys_clock_announce(IS_ENABLED(CONFIG_TICKLESS_KERNEL) ? delta_ticks : 1); + sys_clock_announce(delta_ticks); } int sys_clock_driver_init(const struct device *dev)