diff options
author | Alexander van Heukelum <heukelum@fastmail.fm> | 2008-10-03 16:00:35 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-10-13 04:33:24 -0400 |
commit | 1c9af8a9f448abfe13f17fa76b7ca72b588a1edb (patch) | |
tree | 110164ddbd9c0506190bba9818f1f5c7b2067b07 /arch/x86/kernel/traps_64.c | |
parent | 4915a35e35a037254550a2ba9f367a812bc37d40 (diff) |
traps: x86_64: make io_check_error equal to the one on i386
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>
Diffstat (limited to 'arch/x86/kernel/traps_64.c')
-rw-r--r-- | arch/x86/kernel/traps_64.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/arch/x86/kernel/traps_64.c b/arch/x86/kernel/traps_64.c index 00406c99aee4..7853f488cd6c 100644 --- a/arch/x86/kernel/traps_64.c +++ b/arch/x86/kernel/traps_64.c | |||
@@ -252,13 +252,19 @@ mem_parity_error(unsigned char reason, struct pt_regs *regs) | |||
252 | static notrace __kprobes void | 252 | static notrace __kprobes void |
253 | io_check_error(unsigned char reason, struct pt_regs *regs) | 253 | io_check_error(unsigned char reason, struct pt_regs *regs) |
254 | { | 254 | { |
255 | printk("NMI: IOCK error (debug interrupt?)\n"); | 255 | unsigned long i; |
256 | |||
257 | printk(KERN_EMERG "NMI: IOCK error (debug interrupt?)\n"); | ||
256 | show_registers(regs); | 258 | show_registers(regs); |
257 | 259 | ||
258 | /* Re-enable the IOCK line, wait for a few seconds */ | 260 | /* Re-enable the IOCK line, wait for a few seconds */ |
259 | reason = (reason & 0xf) | 8; | 261 | reason = (reason & 0xf) | 8; |
260 | outb(reason, 0x61); | 262 | outb(reason, 0x61); |
261 | mdelay(2000); | 263 | |
264 | i = 2000; | ||
265 | while (--i) | ||
266 | udelay(1000); | ||
267 | |||
262 | reason &= ~8; | 268 | reason &= ~8; |
263 | outb(reason, 0x61); | 269 | outb(reason, 0x61); |
264 | } | 270 | } |