diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-highbank/hotplug.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/arm/mach-highbank/hotplug.c b/arch/arm/mach-highbank/hotplug.c index 35dd42e2168..a019e4e86e5 100644 --- a/arch/arm/mach-highbank/hotplug.c +++ b/arch/arm/mach-highbank/hotplug.c @@ -14,6 +14,7 @@ * this program. If not, see <http://www.gnu.org/licenses/>. */ #include <linux/kernel.h> +#include <asm/cacheflush.h> #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)); - highbank_set_core_pwr(); - cpu_do_idle(); + flush_cache_louis(); + highbank_set_core_pwr(); - /* We should never return from idle */ - panic("highbank: cpu %d unexpectedly exit from shutdown\n", cpu); + while (1) + cpu_do_idle(); } |