]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/x86/kernel/dumpstack_32.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
[linux-2.6-omap-h63xx.git] / arch / x86 / kernel / dumpstack_32.c
index 201ee359a1a98c2d33049b4325da5a86d5b68fda..b3614752197b6c6e3c0cf53c7b718dd0167fbdea 100644 (file)
@@ -13,6 +13,7 @@
 #include <linux/kexec.h>
 #include <linux/bug.h>
 #include <linux/nmi.h>
+#include <linux/sysfs.h>
 
 #include <asm/stacktrace.h>
 
@@ -343,6 +344,7 @@ int __kprobes __die(const char *str, struct pt_regs *regs, long err)
        printk("DEBUG_PAGEALLOC");
 #endif
        printk("\n");
+       sysfs_printk_last_file();
        if (notify_die(DIE_OOPS, str, regs, err,
                        current->thread.trap_no, SIGSEGV) == NOTIFY_STOP)
                return 1;
@@ -403,7 +405,6 @@ die_nmi(char *str, struct pt_regs *regs, int do_panic)
                panic("Non maskable interrupt");
        console_silent();
        spin_unlock(&nmi_print_lock);
-       bust_spinlocks(0);
 
        /*
         * If we are in kernel we are probably nested up pretty bad
@@ -414,6 +415,7 @@ die_nmi(char *str, struct pt_regs *regs, int do_panic)
                crash_kexec(regs);
        }
 
+       bust_spinlocks(0);
        do_exit(SIGSEGV);
 }