]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/ia64/kernel/mca.c
Pull miscellaneous into release branch
[linux-2.6-omap-h63xx.git] / arch / ia64 / kernel / mca.c
index 607006a6a976750d4b050b3032b77d52940ad946..e51bced3b0fad2b6bbbb050cc0ac828ba6b68c15 100644 (file)
@@ -69,6 +69,7 @@
  * 2007-04-27 Russ Anderson <rja@sgi.com>
  *           Support multiple cpus going through OS_MCA in the same event.
  */
+#include <linux/jiffies.h>
 #include <linux/types.h>
 #include <linux/init.h>
 #include <linux/sched.h>
@@ -295,7 +296,8 @@ static void ia64_mlogbuf_dump_from_init(void)
        if (mlogbuf_finished)
                return;
 
-       if (mlogbuf_timestamp && (mlogbuf_timestamp + 30*HZ > jiffies)) {
+       if (mlogbuf_timestamp &&
+                       time_before(jiffies, mlogbuf_timestamp + 30 * HZ)) {
                printk(KERN_ERR "INIT: mlogbuf_dump is interrupted by INIT "
                        " and the system seems to be messed up.\n");
                ia64_mlogbuf_finish(0);
@@ -1311,20 +1313,17 @@ ia64_mca_handler(struct pt_regs *regs, struct switch_stack *sw,
        } else {
                /* Dump buffered message to console */
                ia64_mlogbuf_finish(1);
-#ifdef CONFIG_KEXEC
-               atomic_set(&kdump_in_progress, 1);
-               monarch_cpu = -1;
-#endif
        }
+
        if (__get_cpu_var(ia64_mca_tr_reload)) {
                mca_insert_tr(0x1); /*Reload dynamic itrs*/
                mca_insert_tr(0x2); /*Reload dynamic itrs*/
        }
+
        if (notify_die(DIE_MCA_MONARCH_LEAVE, "MCA", regs, (long)&nd, 0, recover)
                        == NOTIFY_STOP)
                ia64_mca_spin(__func__);
 
-
        if (atomic_dec_return(&mca_count) > 0) {
                int i;