diff --git a/arch/arm/mach-highbank/hotplug.c b/arch/arm/mach-highbank/hotplug.c index 35dd42e21685..a019e4e86e51 100644 --- a/arch/arm/mach-highbank/hotplug.c +++ b/arch/arm/mach-highbank/hotplug.c @@ -14,6 +14,7 @@ * this program. If not, see . */ #include +#include #include "core.h" #include "sysregs.h" @@ -27,10 +28,10 @@ extern void secondary_startup(void); void __ref highbank_cpu_die(unsigned int cpu) { highbank_set_cpu_jump(cpu, phys_to_virt(0)); + + flush_cache_louis(); highbank_set_core_pwr(); - cpu_do_idle(); - - /* We should never return from idle */ - panic("highbank: cpu %d unexpectedly exit from shutdown\n", cpu); + while (1) + cpu_do_idle(); }