diff --git a/arch/powerpc/platforms/pseries/hotplug-cpu.c b/arch/powerpc/platforms/pseries/hotplug-cpu.c index e0a7ac5db15d9..e47098f00da1e 100644 --- a/arch/powerpc/platforms/pseries/hotplug-cpu.c +++ b/arch/powerpc/platforms/pseries/hotplug-cpu.c @@ -64,10 +64,15 @@ static void pseries_cpu_offline_self(void) local_irq_disable(); idle_task_exit(); + /* prevent lockdep code from traveling RCU protected list + * when we are offline. + */ + lockdep_off(); if (xive_enabled()) xive_teardown_cpu(); else xics_teardown_cpu(); + lockdep_on(); unregister_slb_shadow(hwcpu); rtas_stop_self();