From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751000AbcHBH2m (ORCPT ); Tue, 2 Aug 2016 03:28:42 -0400 Received: from mail-pf0-f182.google.com ([209.85.192.182]:36041 "EHLO mail-pf0-f182.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751559AbcHBH2g (ORCPT ); Tue, 2 Aug 2016 03:28:36 -0400 From: Pratyush Anand To: mingo@kernel.org, alexandre.belloni@free-electrons.com, tglx@linutronix.de, hpa@zytor.com, x86@kernel.org Cc: rtc-linux@googlegroups.com, linux-kernel@vger.kernel.org, prarit@redhat.com, dyoung@redhat.com, a.zummo@towertech.it, Pratyush Anand Subject: [PATCH V2 0/2] rtc-cmos: Workaround unwanted interrupt generation Date: Tue, 2 Aug 2016 12:56:58 +0530 Message-Id: X-Mailer: git-send-email 2.5.5 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org We have observed on few machines with rtc-cmos device that hpet_rtc_interrupt() is called before cmos_do_probe() could call hpet_rtc_timer_init(). It has not been observed during normal boot/reboot of machines. It *sometime* happens when system is booted with kdump secondary kernel. So, neither hpet_default_delta nor hpet_t1_cmp is initialized by the time interrupt is raised in the given situation. Therefore while loop of hpet_cnt_ahead() in hpet_rtc_timer_reinit() never completes. This leads to "NMI watchdog: Watchdog detected hard LOCKUP on cpu 0". These patch set initializes hpet_default_delta and hpet_t1_cmp before interrupt can be raised. Changes since RFC: - Commit log of patches has been improved. - RFCs were here: https://lkml.org/lkml/2016/6/21/35 Pratyush Anand (2): rtc/hpet: Factorize hpet_rtc_timer_init() rtc/rtc-cmos: Initialize software counters before irq is registered arch/x86/include/asm/hpet.h | 2 ++ arch/x86/kernel/hpet.c | 41 +++++++++++++++++++++++++++++++++++------ drivers/rtc/rtc-cmos.c | 13 ++++++++++++- 3 files changed, 49 insertions(+), 7 deletions(-) -- 2.5.5