On Tue, Jun 05, 2007 at 04:57:07PM -0700, Darrick J. Wong wrote:
Didn't find anything wrong in that information. Can you try this
appended debug patch and see if you see this error msg in dmesg, when you
hit the bug? Thanks.
diff --git a/arch/x86_64/kernel/io_apic.c b/arch/x86_64/kernel/io_apic.c
index d8bfe31..3409c1f 100644
--- a/arch/x86_64/kernel/io_apic.c
+++ b/arch/x86_64/kernel/io_apic.c
@@ -720,10 +720,13 @@ static int assign_irq_vector(int irq, cpumask_t mask)
{
int err;
unsigned long flags;
+ int cpu = smp_processor_id();
spin_lock_irqsave(&vector_lock, flags);
err = __assign_irq_vector(irq, mask);
spin_unlock_irqrestore(&vector_lock, flags);
+ if (err && !cpu_isset(cpu, cpu_online_map))
+ printk("assigning irq to a vector failed : %d\n", err);
return err;
}
-