summary refs log tree commit diff
path: root/arch/ia64/kernel/mca.c
diff options
context:
space:
mode:
authorHidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>2008-04-17 16:59:52 +0900
committerTony Luck <tony.luck@intel.com>2008-04-22 08:56:11 -0700
commit284e54279597e0933d785580a43be0b0194dfa00 (patch)
tree8b87688789c6ee80273f0f64499083faf9818844 /arch/ia64/kernel/mca.c
parent38477ad75188b2a7370fef7145f956e6c446928b (diff)
downloadlinux-284e54279597e0933d785580a43be0b0194dfa00.tar.gz
[IA64] do notify DIE_MCA_MONARCH_PROCESS for each monarchs
There are 3 hooks in MCA handler, but this DIE_MCA_MONARCH_PROCESS
event does not notified other than for the first monarch.

Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'arch/ia64/kernel/mca.c')
-rw-r--r--arch/ia64/kernel/mca.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/ia64/kernel/mca.c b/arch/ia64/kernel/mca.c
index e51bced3b0fa..3ba091bb20c9 100644
--- a/arch/ia64/kernel/mca.c
+++ b/arch/ia64/kernel/mca.c
@@ -1288,13 +1288,14 @@ ia64_mca_handler(struct pt_regs *regs, struct switch_stack *sw,
 		 * does not work.
 		 */
 		ia64_mca_wakeup_all();
-		if (notify_die(DIE_MCA_MONARCH_PROCESS, "MCA", regs, (long)&nd, 0, 0)
-				== NOTIFY_STOP)
-			ia64_mca_spin(__func__);
 	} else {
 		while (cpu_isset(cpu, mca_cpu))
 			cpu_relax();	/* spin until monarch wakes us */
-        }
+	}
+
+	if (notify_die(DIE_MCA_MONARCH_PROCESS, "MCA", regs, (long)&nd, 0, 0)
+			== NOTIFY_STOP)
+		ia64_mca_spin(__func__);
 
 	/* Get the MCA error record and log it */
 	ia64_mca_log_sal_error_record(SAL_INFO_TYPE_MCA);