mirror of
https://git.yoctoproject.org/meta-ti
synced 2026-07-26 13:57:59 +00:00
6203cbca5c
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> Signed-off-by: Denys Dmytriyenko <denys@ti.com>
58 lines
2.1 KiB
Diff
58 lines
2.1 KiB
Diff
From 666e725f56fc4c9a6e4f0e00b5a180866863f724 Mon Sep 17 00:00:00 2001
|
|
From: Thomas Gleixner <tglx@linutronix.de>
|
|
Date: Mon, 16 Jul 2012 12:50:42 -0400
|
|
Subject: [PATCH 084/109] timekeeping: Add missing update call in
|
|
timekeeping_resume()
|
|
|
|
This is a backport of 3e997130bd2e8c6f5aaa49d6e3161d4d29b43ab0
|
|
|
|
The leap second rework unearthed another issue of inconsistent data.
|
|
|
|
On timekeeping_resume() the timekeeper data is updated, but nothing
|
|
calls timekeeping_update(), so now the update code in the timer
|
|
interrupt sees stale values.
|
|
|
|
This has been the case before those changes, but then the timer
|
|
interrupt was using stale data as well so this went unnoticed for quite
|
|
some time.
|
|
|
|
Add the missing update call, so all the data is consistent everywhere.
|
|
|
|
Reported-by: Andreas Schwab <schwab@linux-m68k.org>
|
|
Reported-and-tested-by: "Rafael J. Wysocki" <rjw@sisk.pl>
|
|
Reported-and-tested-by: Martin Steigerwald <Martin@lichtvoll.de>
|
|
Cc: LKML <linux-kernel@vger.kernel.org>
|
|
Cc: Linux PM list <linux-pm@vger.kernel.org>
|
|
Cc: John Stultz <johnstul@us.ibm.com>
|
|
Cc: Ingo Molnar <mingo@kernel.org>
|
|
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>,
|
|
Cc: Prarit Bhargava <prarit@redhat.com>
|
|
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|
Signed-off-by: John Stultz <johnstul@us.ibm.com>
|
|
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
|
[John Stultz: Backported to 3.2]
|
|
Cc: Prarit Bhargava <prarit@redhat.com>
|
|
Cc: Thomas Gleixner <tglx@linutronix.de>
|
|
Cc: Linux Kernel <linux-kernel@vger.kernel.org>
|
|
Signed-off-by: John Stultz <johnstul@us.ibm.com>
|
|
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
|
|
---
|
|
kernel/time/timekeeping.c | 1 +
|
|
1 files changed, 1 insertions(+), 0 deletions(-)
|
|
|
|
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
|
|
index 4938c5e..03e67d4 100644
|
|
--- a/kernel/time/timekeeping.c
|
|
+++ b/kernel/time/timekeeping.c
|
|
@@ -699,6 +699,7 @@ static void timekeeping_resume(void)
|
|
timekeeper.clock->cycle_last = timekeeper.clock->read(timekeeper.clock);
|
|
timekeeper.ntp_error = 0;
|
|
timekeeping_suspended = 0;
|
|
+ timekeeping_update(false);
|
|
write_sequnlock_irqrestore(&xtime_lock, flags);
|
|
|
|
touch_softlockup_watchdog();
|
|
--
|
|
1.7.7.6
|
|
|