aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ia64/ia32/ia32_support.c
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@novell.com>2008-02-04 23:43:03 -0800
committerTony Luck <tony.luck@intel.com>2008-02-05 08:26:44 -0800
commit620de2f5dc697f906408743b1139fe5fb7b0b7f8 (patch)
tree01c731dfc3f8aca8f100482ef79d6795e03b4dba /arch/ia64/ia32/ia32_support.c
parent[IA64] remove dead code: __cpu_{down,die} from !HOTPLUG_CPU (diff)
downloadlinux-dev-620de2f5dc697f906408743b1139fe5fb7b0b7f8.tar.xz
linux-dev-620de2f5dc697f906408743b1139fe5fb7b0b7f8.zip
[IA64] honor notify_die() returning NOTIFY_STOP
This requires making die() and die_if_kernel() return a value, and their callers to honor this (and be prepared that it returns). Signed-off-by: Jan Beulich <jbeulich@novell.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'arch/ia64/ia32/ia32_support.c')
-rw-r--r--arch/ia64/ia32/ia32_support.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/ia64/ia32/ia32_support.c b/arch/ia64/ia32/ia32_support.c
index d1d50cd1c38a..896b1ebbfb26 100644
--- a/arch/ia64/ia32/ia32_support.c
+++ b/arch/ia64/ia32/ia32_support.c
@@ -27,7 +27,7 @@
#include "ia32priv.h"
-extern void die_if_kernel (char *str, struct pt_regs *regs, long err);
+extern int die_if_kernel (char *str, struct pt_regs *regs, long err);
struct exec_domain ia32_exec_domain;
struct page *ia32_shared_page[NR_CPUS];
@@ -217,7 +217,8 @@ ia32_bad_interrupt (unsigned long int_num, struct pt_regs *regs)
{
siginfo_t siginfo;
- die_if_kernel("Bad IA-32 interrupt", regs, int_num);
+ if (die_if_kernel("Bad IA-32 interrupt", regs, int_num))
+ return;
siginfo.si_signo = SIGTRAP;
siginfo.si_errno = int_num; /* XXX is it OK to abuse si_errno like this? */