Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757867AbcLOLoE (ORCPT ); Thu, 15 Dec 2016 06:44:04 -0500 Received: from terminus.zytor.com ([198.137.202.10]:41920 "EHLO mail.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757853AbcLOLn6 (ORCPT ); Thu, 15 Dec 2016 06:43:58 -0500 Date: Thu, 15 Dec 2016 03:16:10 -0800 From: tip-bot for Thomas Gleixner Message-ID: Cc: tglx@linutronix.de, slash.tmp@free.fr, anna-maria@linutronix.de, thibaud_cornic@sigmadesigns.com, mingo@kernel.org, linux-kernel@vger.kernel.org, mark.rutland@arm.com, robin.murphy@arm.com, sf84@laposte.net, daniel.lezcano@linaro.org, bigeasy@linutronix.de, rcochran@linutronix.de, hpa@zytor.com Reply-To: tglx@linutronix.de, slash.tmp@free.fr, thibaud_cornic@sigmadesigns.com, anna-maria@linutronix.de, mark.rutland@arm.com, mingo@kernel.org, linux-kernel@vger.kernel.org, robin.murphy@arm.com, sf84@laposte.net, bigeasy@linutronix.de, daniel.lezcano@linaro.org, rcochran@linutronix.de, hpa@zytor.com In-Reply-To: <1147ef90-7877-e4d2-bb2b-5c4fa8d3144b@free.fr> References: <1147ef90-7877-e4d2-bb2b-5c4fa8d3144b@free.fr> To: linux-tip-commits@vger.kernel.org Subject: [tip:smp/urgent] clocksource/dummy_timer: Move hotplug callback after the real timers Git-Commit-ID: 9bf11ecce5a2758e5a097c2f3a13d08552d0d6f9 X-Mailer: tip-git-log-daemon Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2452 Lines: 58 Commit-ID: 9bf11ecce5a2758e5a097c2f3a13d08552d0d6f9 Gitweb: http://git.kernel.org/tip/9bf11ecce5a2758e5a097c2f3a13d08552d0d6f9 Author: Thomas Gleixner AuthorDate: Thu, 15 Dec 2016 12:01:05 +0100 Committer: Thomas Gleixner CommitDate: Thu, 15 Dec 2016 12:09:20 +0100 clocksource/dummy_timer: Move hotplug callback after the real timers When the dummy timer callback is invoked before the real timer callbacks, then it tries to install that timer for the starting CPU. If the platform does not have a broadcast timer installed the installation fails with a kernel crash. The crash happens due to a unconditional deference of the non available broadcast device. This needs to be fixed in the timer core code. But even when this is fixed in the core code then installing the dummy timer before the real timers is a pointless exercise. Move it to the end of the callback list. Fixes: 00c1d17aab51 ("clocksource/dummy_timer: Convert to hotplug state machine") Reported-and-tested-by: Mason Signed-off-by: Thomas Gleixner Cc: Mark Rutland Cc: Anna-Maria Gleixner Cc: Richard Cochran Cc: Sebastian Andrzej Siewior Cc: Daniel Lezcano Cc: Peter Zijlstra , Cc: Sebastian Frias Cc: Thibaud Cornic Cc: Robin Murphy Link: http://lkml.kernel.org/r/1147ef90-7877-e4d2-bb2b-5c4fa8d3144b@free.fr --- include/linux/cpuhotplug.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/linux/cpuhotplug.h b/include/linux/cpuhotplug.h index 22acee7..2ab7bf5 100644 --- a/include/linux/cpuhotplug.h +++ b/include/linux/cpuhotplug.h @@ -101,7 +101,6 @@ enum cpuhp_state { CPUHP_AP_ARM_L2X0_STARTING, CPUHP_AP_ARM_ARCH_TIMER_STARTING, CPUHP_AP_ARM_GLOBAL_TIMER_STARTING, - CPUHP_AP_DUMMY_TIMER_STARTING, CPUHP_AP_JCORE_TIMER_STARTING, CPUHP_AP_EXYNOS4_MCT_TIMER_STARTING, CPUHP_AP_ARM_TWD_STARTING, @@ -115,6 +114,8 @@ enum cpuhp_state { CPUHP_AP_KVM_ARM_VGIC_INIT_STARTING, CPUHP_AP_KVM_ARM_VGIC_STARTING, CPUHP_AP_KVM_ARM_TIMER_STARTING, + /* Must be the last timer callback */ + CPUHP_AP_DUMMY_TIMER_STARTING, CPUHP_AP_ARM_XEN_STARTING, CPUHP_AP_ARM_CORESIGHT_STARTING, CPUHP_AP_ARM_CORESIGHT4_STARTING,