traps: x86_64: make io_check_error equal to the one on i386
authorAlexander van Heukelum <heukelum@fastmail.fm>
Fri, 3 Oct 2008 20:00:35 +0000 (22:00 +0200)
committerIngo Molnar <mingo@elte.hu>
Mon, 13 Oct 2008 08:33:24 +0000 (10:33 +0200)
Make io_check_error equal to the one on i386.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/traps_64.c

index 00406c99aee4a79e3ee0c2dfba2abb12ca19251a..7853f488cd6c56fe350ae17de9f1c1cf1468dc29 100644 (file)
@@ -252,13 +252,19 @@ mem_parity_error(unsigned char reason, struct pt_regs *regs)
 static notrace __kprobes void
 io_check_error(unsigned char reason, struct pt_regs *regs)
 {
-       printk("NMI: IOCK error (debug interrupt?)\n");
+       unsigned long i;
+
+       printk(KERN_EMERG "NMI: IOCK error (debug interrupt?)\n");
        show_registers(regs);
 
        /* Re-enable the IOCK line, wait for a few seconds */
        reason = (reason & 0xf) | 8;
        outb(reason, 0x61);
-       mdelay(2000);
+
+       i = 2000;
+       while (--i)
+               udelay(1000);
+
        reason &= ~8;
        outb(reason, 0x61);
 }