[IA64] do notify DIE_MCA_MONARCH_PROCESS for each monarchs
authorHidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Thu, 17 Apr 2008 07:59:52 +0000 (16:59 +0900)
committerTony Luck <tony.luck@intel.com>
Tue, 22 Apr 2008 15:56:11 +0000 (08:56 -0700)
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>
arch/ia64/kernel/mca.c

index e51bced3b0fad2b6bbbb050cc0ac828ba6b68c15..3ba091bb20c9e10d4f9c02d529f567192c13ff90 100644 (file)
@@ -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);