From patchwork Tue Jul 17 06:39:56 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: john stultz X-Patchwork-Id: 10024 Return-Path: X-Original-To: patchwork@peony.canonical.com Delivered-To: patchwork@peony.canonical.com Received: from fiordland.canonical.com (fiordland.canonical.com [91.189.94.145]) by peony.canonical.com (Postfix) with ESMTP id ECD4123E56 for ; Tue, 17 Jul 2012 06:40:53 +0000 (UTC) Received: from mail-gg0-f180.google.com (mail-gg0-f180.google.com [209.85.161.180]) by fiordland.canonical.com (Postfix) with ESMTP id BD0E3A18604 for ; Tue, 17 Jul 2012 06:40:53 +0000 (UTC) Received: by mail-gg0-f180.google.com with SMTP id f1so51840ggn.11 for ; Mon, 16 Jul 2012 23:40:53 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-forwarded-to:x-forwarded-for:delivered-to:received-spf:from:to:cc :subject:date:message-id:x-mailer:in-reply-to:references :x-content-scanned:x-cbid:x-gm-message-state; bh=nxi8c3IPjmhBt1RSabWFwA4hMpTZwbDxB9XhcRAmtoo=; b=oOrC1Fet53H+92pJ7hGattlkSDhWiBK48COz2GY+g4w0QGv7//N/jssArP6199h/I0 uprRiGnDmNNWVYsLKCfBuu5EBqbXK9UVWXA+F9BEi7f0lhtdkN2UiUZKui+eepQQOv9B STNMQQAUDpES8AcTbuBWf2paoqgnNInPUk6Y6b3D4w3kJ6Fx+7dryOdKJfdkEBw/WG7U OXEcRRyUiO/rxZ8a4HSPYwpywb8iS0Y9bpcL/VGwdL5QIZ0GPEnBqyC+EIDwiiNjwOqc 9WpXxfyI4oWfBxZi9EAlX8vrjj6VosS7OqTQcnf0xO7FjGk9aHeMBPNo+Yh0oOlr8Pj+ sixA== Received: by 10.50.195.234 with SMTP id ih10mr458798igc.0.1342507253290; Mon, 16 Jul 2012 23:40:53 -0700 (PDT) X-Forwarded-To: linaro-patchwork@canonical.com X-Forwarded-For: patch@linaro.org linaro-patchwork@canonical.com Delivered-To: patches@linaro.org Received: by 10.231.241.2 with SMTP id lc2csp15747ibb; Mon, 16 Jul 2012 23:40:52 -0700 (PDT) Received: by 10.50.57.167 with SMTP id j7mr386112igq.53.1342507252889; Mon, 16 Jul 2012 23:40:52 -0700 (PDT) Received: from e38.co.us.ibm.com (e38.co.us.ibm.com. [32.97.110.159]) by mx.google.com with ESMTPS id fa8si6869481igb.12.2012.07.16.23.40.52 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 16 Jul 2012 23:40:52 -0700 (PDT) Received-SPF: pass (google.com: domain of johnstul@us.ibm.com designates 32.97.110.159 as permitted sender) client-ip=32.97.110.159; Authentication-Results: mx.google.com; spf=pass (google.com: domain of johnstul@us.ibm.com designates 32.97.110.159 as permitted sender) smtp.mail=johnstul@us.ibm.com Received: from /spool/local by e38.co.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 17 Jul 2012 00:40:52 -0600 Received: from d01dlp03.pok.ibm.com (9.56.224.17) by e38.co.us.ibm.com (192.168.1.138) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Tue, 17 Jul 2012 00:40:13 -0600 Received: from d01relay01.pok.ibm.com (d01relay01.pok.ibm.com [9.56.227.233]) by d01dlp03.pok.ibm.com (Postfix) with ESMTP id B1F2CC90067 for ; Tue, 17 Jul 2012 02:40:12 -0400 (EDT) Received: from d01av01.pok.ibm.com (d01av01.pok.ibm.com [9.56.224.215]) by d01relay01.pok.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id q6H6eCMb393478 for ; Tue, 17 Jul 2012 02:40:12 -0400 Received: from d01av01.pok.ibm.com (loopback [127.0.0.1]) by d01av01.pok.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id q6HCB4Ku020933 for ; Tue, 17 Jul 2012 08:11:04 -0400 Received: from kernel.stglabs.ibm.com (kernel.stglabs.ibm.com [9.114.214.19]) by d01av01.pok.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id q6HCB4cD020889; Tue, 17 Jul 2012 08:11:04 -0400 From: John Stultz To: stable@vger.kernel.org Cc: Thomas Gleixner , LKML , Linux PM list , John Stultz , Ingo Molnar , Peter Zijlstra , Prarit Bhargava , Linus Torvalds Subject: [PATCH 7/7] 3.4.x: timekeeping: Add missing update call in timekeeping_resume() Date: Tue, 17 Jul 2012 02:39:56 -0400 Message-Id: <1342507196-54327-8-git-send-email-johnstul@us.ibm.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1342507196-54327-1-git-send-email-johnstul@us.ibm.com> References: <1342507196-54327-1-git-send-email-johnstul@us.ibm.com> X-Content-Scanned: Fidelis XPS MAILER x-cbid: 12071706-5518-0000-0000-00000616E0FD X-Gm-Message-State: ALoCoQmQsBiu1AeRWShXfqswYRkPOXlrIkAlFmaqdAJO7pRxgml5zzx0qMcb1nDI/d1Ny6tKM+FQ From: Thomas Gleixner 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 Reported-and-tested-by: "Rafael J. Wysocki" Reported-and-tested-by: Martin Steigerwald Cc: LKML Cc: Linux PM list Cc: John Stultz Cc: Ingo Molnar Cc: Peter Zijlstra , Cc: Prarit Bhargava Cc: stable@vger.kernel.org Signed-off-by: Thomas Gleixner Signed-off-by: John Stultz Signed-off-by: Linus Torvalds Cc: Prarit Bhargava Cc: Thomas Gleixner Cc: Linux Kernel Signed-off-by: John Stultz --- kernel/time/timekeeping.c | 1 + 1 file changed, 1 insertion(+) diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c index 62e12c3..7c50de8 100644 --- a/kernel/time/timekeeping.c +++ b/kernel/time/timekeeping.c @@ -719,6 +719,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(&timekeeper.lock, flags); touch_softlockup_watchdog();