fix per-cpu flag problem in the cpu affinity checkers
authorThomas Gleixner <tglx@linutronix.de>
Mon, 7 Feb 2011 18:28:01 +0000 (19:28 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 23 Mar 2011 20:16:56 +0000 (13:16 -0700)
commit 9804c9eaeacfe78651052c5ddff31099f60ef78c upstream.

The CHECK_IRQ_PER_CPU is wrong, it should be checking
irq_to_desc(irq)->status not just irq.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
arch/parisc/kernel/irq.c

index 2e7610cb33d5be4afa18daae6a5f9187078a2bf4..035f5681f97b9636abf58cf3911d367810690e2c 100644 (file)
@@ -117,7 +117,7 @@ int cpu_check_affinity(unsigned int irq, const struct cpumask *dest)
        int cpu_dest;
 
        /* timer and ipi have to always be received on all CPUs */
-       if (CHECK_IRQ_PER_CPU(irq)) {
+       if (CHECK_IRQ_PER_CPU(irq_to_desc(irq)->status)) {
                /* Bad linux design decision.  The mask has already
                 * been set; we must reset it */
                cpumask_setall(irq_desc[irq].affinity);