]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/x86/kernel/io_apic_32.c
x86: fix C1E && nx6325 stability problem
[linux-2.6-omap-h63xx.git] / arch / x86 / kernel / io_apic_32.c
index 337ec3438a8f2f90655efa6c2a1e5419e8bd1000..6b220b9dcbb3d41bd87f126117977809bab5f812 100644 (file)
@@ -59,6 +59,13 @@ static struct { int pin, apic; } ioapic_i8259 = { -1, -1 };
 static DEFINE_SPINLOCK(ioapic_lock);
 static DEFINE_SPINLOCK(vector_lock);
 
+static bool mask_ioapic_irq_2 __initdata;
+
+void __init force_mask_ioapic_irq_2(void)
+{
+       mask_ioapic_irq_2 = true;
+}
+
 int timer_through_8259 __initdata;
 
 /*
@@ -2172,6 +2179,9 @@ static inline void __init check_timer(void)
        printk(KERN_INFO "..TIMER: vector=0x%02X apic1=%d pin1=%d apic2=%d pin2=%d\n",
                vector, apic1, pin1, apic2, pin2);
 
+       if (mask_ioapic_irq_2)
+               mask_IO_APIC_irq(2);
+
        /*
         * Some BIOS writers are clueless and report the ExtINTA
         * I/O APIC input from the cascaded 8259A as the timer