From f3cd0844e77e0e96881c79048b208ece7ed67e83 Mon Sep 17 00:00:00 2001 From: Anton Vorontsov Date: Tue, 16 Dec 2008 06:23:05 +0000 Subject: [PATCH] --- yaml --- r: 123139 b: refs/heads/master c: 77733f8a33488307e7d4b9077d174647ecea92e1 h: refs/heads/master i: 123137: 5acb6bbe23c8c0b2279d94da7663f434983a9a1d 123135: a9f254880cc6403718658aa77be6262abf593b3f v: v3 --- [refs] | 2 +- trunk/arch/powerpc/kernel/machine_kexec.c | 21 +++++++++------------ 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/[refs] b/[refs] index 66568cc50c14..c9580c0d3771 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2e8e4f5b80e101da588af650de0ff6b3c475d6b3 +refs/heads/master: 77733f8a33488307e7d4b9077d174647ecea92e1 diff --git a/trunk/arch/powerpc/kernel/machine_kexec.c b/trunk/arch/powerpc/kernel/machine_kexec.c index 037ade74a99e..4f797c0b7148 100644 --- a/trunk/arch/powerpc/kernel/machine_kexec.c +++ b/trunk/arch/powerpc/kernel/machine_kexec.c @@ -22,6 +22,8 @@ void machine_crash_shutdown(struct pt_regs *regs) { if (ppc_md.machine_crash_shutdown) ppc_md.machine_crash_shutdown(regs); + else + default_machine_crash_shutdown(regs); } /* @@ -33,11 +35,8 @@ int machine_kexec_prepare(struct kimage *image) { if (ppc_md.machine_kexec_prepare) return ppc_md.machine_kexec_prepare(image); - /* - * Fail if platform doesn't provide its own machine_kexec_prepare - * implementation. - */ - return -ENOSYS; + else + return default_machine_kexec_prepare(image); } void machine_kexec_cleanup(struct kimage *image) @@ -54,13 +53,11 @@ void machine_kexec(struct kimage *image) { if (ppc_md.machine_kexec) ppc_md.machine_kexec(image); - else { - /* - * Fall back to normal restart if platform doesn't provide - * its own kexec function, and user insist to kexec... - */ - machine_restart(NULL); - } + else + default_machine_kexec(image); + + /* Fall back to normal restart if we're still alive. */ + machine_restart(NULL); for(;;); }