summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-highbank/hotplug.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-highbank/hotplug.c')
-rw-r--r--arch/arm/mach-highbank/hotplug.c9
1 files changed, 5 insertions, 4 deletions
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 <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();
}