From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Sender: rtc-linux@googlegroups.com MIME-Version: 1.0 Received: from mail-qk0-f181.google.com (mail-qk0-f181.google.com. [209.85.220.181]) by gmr-mx.google.com with ESMTPS id k133si54461ywc.3.2016.06.20.21.55.55 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 20 Jun 2016 21:55:55 -0700 (PDT) Received: by mail-qk0-f181.google.com with SMTP id c73so6422861qkg.2 for ; Mon, 20 Jun 2016 21:55:55 -0700 (PDT) From: Pratyush Anand To: mingo@kernel.org, alexandre.belloni@free-electrons.com Cc: rtc-linux@googlegroups.com, linux-kernel@vger.kernel.org, prarit@redhat.com, Pratyush Anand Subject: [rtc-linux] [PATCH RFC 0/2] rtc-cmos: Workaround unwanted interrupt generation Date: Tue, 21 Jun 2016 10:25:34 +0530 Message-Id: Reply-To: rtc-linux@googlegroups.com Content-Type: text/plain; charset=UTF-8 List-ID: List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , 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". I am still clueless, how can an interrupt be raised before RTC is enabled. But i do not have any idea about this device, so I am putting this patch as RFC to get feedback from hpet/rtc-cmos developer. I am sure there would be some better solution than this. 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 -- You received this message because you are subscribed to "rtc-linux". Membership options at http://groups.google.com/group/rtc-linux . Please read http://groups.google.com/group/rtc-linux/web/checklist before submitting a driver. --- You received this message because you are subscribed to the Google Groups "rtc-linux" group. To unsubscribe from this group and stop receiving emails from it, send an email to rtc-linux+unsubscribe@googlegroups.com. For more options, visit https://groups.google.com/d/optout. From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754101AbcFUE4i (ORCPT ); Tue, 21 Jun 2016 00:56:38 -0400 Received: from mail-qk0-f170.google.com ([209.85.220.170]:33612 "EHLO mail-qk0-f170.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752700AbcFUE4e (ORCPT ); Tue, 21 Jun 2016 00:56:34 -0400 From: Pratyush Anand To: mingo@kernel.org, alexandre.belloni@free-electrons.com Cc: rtc-linux@googlegroups.com, linux-kernel@vger.kernel.org, prarit@redhat.com, Pratyush Anand Subject: [PATCH RFC 0/2] rtc-cmos: Workaround unwanted interrupt generation Date: Tue, 21 Jun 2016 10:25:34 +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". I am still clueless, how can an interrupt be raised before RTC is enabled. But i do not have any idea about this device, so I am putting this patch as RFC to get feedback from hpet/rtc-cmos developer. I am sure there would be some better solution than this. 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