From: Anna-Maria Gleixner <anna-ma...@linutronix.de> The offset of the clock bases is done via timekeeping mechanisms. The offsets of the soft bases has to be considered as well.
Signed-off-by: Anna-Maria Gleixner <anna-ma...@linutronix.de> Signed-off-by: Sebastian Andrzej Siewior <bige...@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortma...@windriver.com> --- kernel/time/hrtimer.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c index fd26eade86a3..db396eafc774 100644 --- a/kernel/time/hrtimer.c +++ b/kernel/time/hrtimer.c @@ -562,8 +562,14 @@ static inline ktime_t hrtimer_update_base(struct hrtimer_cpu_base *base) ktime_t *offs_boot = &base->clock_base[HRTIMER_BASE_BOOTTIME].offset; ktime_t *offs_tai = &base->clock_base[HRTIMER_BASE_TAI].offset; - return ktime_get_update_offsets_now(&base->clock_was_set_seq, + ktime_t now = ktime_get_update_offsets_now(&base->clock_was_set_seq, offs_real, offs_boot, offs_tai); + + base->clock_base[HRTIMER_BASE_REALTIME_SOFT].offset = *offs_real; + base->clock_base[HRTIMER_BASE_BOOTTIME_SOFT].offset = *offs_boot; + base->clock_base[HRTIMER_BASE_TAI_SOFT].offset = *offs_tai; + + return now; } /* -- 2.15.0 -- _______________________________________________ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto