===== arch/i386/kernel/i8259.c 1.35 vs edited ===== --- 1.35/arch/i386/kernel/i8259.c 2004-07-14 16:00:16 -04:00 +++ edited/arch/i386/kernel/i8259.c 2004-08-06 09:33:02 -04:00 @@ -244,21 +244,23 @@ */ static void restore_ELCR(char *trigger) { - outb(trigger[0], 0x4d0); - outb(trigger[1], 0x4d1); + /* IRQ 0,1,2,8,13 are marked as reserved */ + outb(trigger[0] & 0xF8, 0x4d0); + outb(trigger[1] & 0xDE, 0x4d1); } static void save_ELCR(char *trigger) { - /* IRQ 0,1,2,8,13 are marked as reserved */ - trigger[0] = inb(0x4d0) & 0xF8; - trigger[1] = inb(0x4d1) & 0xDE; + trigger[0] = inb(0x4d0); + trigger[1] = inb(0x4d1); + printk(KERN_DEBUG "i8259: saving ELCR: 0x%02x 0x%02x\n", + trigger[0], trigger[1]); } static int i8259A_resume(struct sys_device *dev) { init_8259A(0); - restore_ELCR(irq_trigger); + /*restore_ELCR(irq_trigger);*/ return 0; }