|
@@ -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();
|
|
|
}
|