On Fri, Nov 11, 2016 at 08:36:31PM +0100, Sebastian Andrzej Siewior wrote: > __mcheck_cpu_init_timer() does not only prepare the timer but also fires > it. And __mcheck_cpu_init_timer() is invoked from other places and the > caller probably expects the timer to be fired.
Then please do it right: static void __mcheck_cap_setup_timer(void) { struct timer_list *t = this_cpu_ptr(&mce_timer); unsigned int cpu = smp_processor_id(); setup_pinned_timer(t, mce_timer_fn, cpu); } and call that function then. -- Regards/Gruss, Boris. Good mailing practices for 400: avoid top-posting and trim the reply.