patch-2.3.99-pre3 linux/arch/i386/kernel/i8259.c

Next file: linux/arch/i386/kernel/io_apic.c
Previous file: linux/arch/i386/kernel/entry.S
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.99-pre2/linux/arch/i386/kernel/i8259.c linux/arch/i386/kernel/i8259.c
@@ -292,12 +292,12 @@
 	if (irq & 8) {
 		inb(0xA1);		/* DUMMY - (do we need this?) */
 		outb(cached_A1,0xA1);
+		outb(0x60+(irq&7),0xA0);/* 'Specific EOI' to slave */
 		outb(0x62,0x20);	/* 'Specific EOI' to master-IRQ2 */
-		outb(0x20,0xA0);	/* 'generic EOI' to slave */
 	} else {
 		inb(0x21);		/* DUMMY - (do we need this?) */
 		outb(cached_21,0x21);
-		outb(0x20,0x20);	/* 'generic EOI' to master */
+		outb(0x60+irq,0x20);	/* 'Specific EOI' to master */
 	}
 	spin_unlock_irqrestore(&i8259A_lock, flags);
 	return;

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)