We have observed on few machines with rtc-cmos devices that it generates an interrupt before the hpet_rtc_timer_init() call is finished. This leads to hpet_rtc_interrupt() being called before it is fully initialized.
Therefore the 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". This patch set initializes hpet_default_delta and hpet_t1_cmp before interrupt can be raised. Changes since V2: - Improved commit log further Changes since RFC: - Commit log of patches has been improved. 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