This patch fixes a race between the CMOS clock setting and the NMI code. The NMI code indiscriminatly sets index registers and values in the same place the CMOS clock is set. If you are setting the CMOS clock and an NMI occurs, Bad values could be written to or read from the CMOS RAM, or the NMI operation might not occur correctly. Resetting the NMI is not required on x86_64 (in fact, it should not be done according to the ICH5 documentation). This patch simply removes the useless code. Signed-off-by: Corey Minyard Index: linux-2.6.11-mm1/arch/x86_64/kernel/traps.c =================================================================== --- linux-2.6.11-mm1.orig/arch/x86_64/kernel/traps.c +++ linux-2.6.11-mm1/arch/x86_64/kernel/traps.c @@ -620,15 +620,6 @@ mem_parity_error(reason, regs); if (reason & 0x40) io_check_error(reason, regs); - - /* - * Reassert NMI in case it became active meanwhile - * as it's edge-triggered. - */ - outb(0x8f, 0x70); - inb(0x71); /* dummy */ - outb(0x0f, 0x70); - inb(0x71); /* dummy */ } asmlinkage void do_int3(struct pt_regs * regs, long error_code)