aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ia64/kernel/mca.c
diff options
context:
space:
mode:
authorHidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>2008-04-17 03:59:52 -0400
committerTony Luck <tony.luck@intel.com>2008-04-22 11:56:11 -0400
commit284e54279597e0933d785580a43be0b0194dfa00 (patch)
tree8b87688789c6ee80273f0f64499083faf9818844 /arch/ia64/kernel/mca.c
parent38477ad75188b2a7370fef7145f956e6c446928b (diff)
[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,
1288 * does not work. 1288 * does not work.
1289 */ 1289 */
1290 ia64_mca_wakeup_all(); 1290 ia64_mca_wakeup_all();
1291 if (notify_die(DIE_MCA_MONARCH_PROCESS, "MCA", regs, (long)&nd, 0, 0)
1292 == NOTIFY_STOP)
1293 ia64_mca_spin(__func__);
1294 } else { 1291 } else {
1295 while (cpu_isset(cpu, mca_cpu)) 1292 while (cpu_isset(cpu, mca_cpu))
1296 cpu_relax(); /* spin until monarch wakes us */ 1293 cpu_relax(); /* spin until monarch wakes us */
1297 } 1294 }
1295
1296 if (notify_die(DIE_MCA_MONARCH_PROCESS, "MCA", regs, (long)&nd, 0, 0)
1297 == NOTIFY_STOP)
1298 ia64_mca_spin(__func__);
1298 1299
1299 /* Get the MCA error record and log it */ 1300 /* Get the MCA error record and log it */
1300 ia64_mca_log_sal_error_record(SAL_INFO_TYPE_MCA); 1301 ia64_mca_log_sal_error_record(SAL_INFO_TYPE_MCA);