For some unknown reasons forcing percpu interrupts for local timers breaks CPU hotplug for 'little' cores on legacy ARM 32bit Exynos based machines (for example Exynos5422-based Odroid-XU3/XU4 boards). Use percpu flag only when driver is compiled for newer ARM64 architecture. Fixes: f3cec54ee3bf ("clocksource/drivers/exynos_mct: Set local timer interrupts as percpu") Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> --- drivers/clocksource/exynos_mct.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/clocksource/exynos_mct.c b/drivers/clocksource/exynos_mct.c index 62febeb4e1de..fece6bbc190e 100644 --- a/drivers/clocksource/exynos_mct.c +++ b/drivers/clocksource/exynos_mct.c @@ -603,7 +603,8 @@ static int __init exynos4_timer_interrupts(struct device_node *np, if (request_irq(mct_irq, exynos4_mct_tick_isr, IRQF_TIMER | IRQF_NOBALANCING | - IRQF_PERCPU, + (IS_ENABLED(CONFIG_ARM64) ? + IRQF_PERCPU : 0), pcpu_mevt->name, pcpu_mevt)) { pr_err("exynos-mct: cannot register IRQ (cpu%d)\n", cpu); -- 2.34.1