diff --git a/kernel/sched/idle.c b/kernel/sched/idle.c index b4a2f1274f1b..5e2c586d9c2d 100644 --- a/kernel/sched/idle.c +++ b/kernel/sched/idle.c @@ -229,6 +229,7 @@ static void cpuidle_idle_call(void) */ static void do_idle(void) { + int cpu = smp_processor_id(); /* * If the arch has a polling bit, we maintain an invariant: * @@ -247,7 +248,7 @@ static void do_idle(void) local_irq_disable(); - if (cpu_is_offline(smp_processor_id())) { + if (cpu_is_offline(cpu)) { tick_nohz_idle_stop_tick(); cpuhp_report_idle_dead(); arch_cpu_idle_dead();