Index: linux/arch/i386/kernel/io_apic.c diff -u linux/arch/i386/kernel/io_apic.c:1.2.12.3 linux/arch/i386/kernel/io_apic.c:1.2.12.4 --- linux/arch/i386/kernel/io_apic.c:1.2.12.3 Tue Apr 3 15:37:29 2001 +++ linux/arch/i386/kernel/io_apic.c Thu May 17 10:30:20 2001 @@ -204,6 +204,8 @@ /* * We disable IO-APIC IRQs by setting their 'destination CPU mask' to * zero. Trick by Ramesh Nalluri. + * Not anymore. This causes problems on some IO-APIC's, notably AMD 760MP's + * So we do it a more 2.4 kind of way now which should be safer -jerdfelt */ DO_ACTION( mask, 0, |= 0x00010000, io_apic_sync(entry->apic))/* mask = 1 */ DO_ACTION( unmask, 0, &= 0xfffeffff, ) /* mask = 0 */ @@ -646,8 +648,8 @@ entry.delivery_mode = dest_LowestPrio; entry.dest_mode = 1; /* logical delivery */ - entry.mask = 0; /* enable IRQ */ - entry.dest.logical.logical_dest = 0xff; /* but no route */ + entry.mask = 1; /* disable IRQ */ + entry.dest.logical.logical_dest = 0xff; idx = find_irq_entry(apic,pin,mp_INT); if (idx == -1) {