]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/x86/kernel/apic/io_apic.c
x86: Correct behaviour of irq affinity
[linux-2.6-omap-h63xx.git] / arch / x86 / kernel / apic / io_apic.c
index 1ed6c0600cdef68a65d2670f64b03d47ec8e0091..d990408ca06f10ad33a85dbc2c09af59fc66566d 100644 (file)
@@ -594,9 +594,10 @@ set_desc_affinity(struct irq_desc *desc, const struct cpumask *mask)
 
        /* check that before desc->addinity get updated */
        set_extra_move_desc(desc, mask);
-       cpumask_and(desc->affinity, cfg->domain, mask);
 
-       return apic->cpu_mask_to_apicid_and(desc->affinity, cpu_online_mask);
+       cpumask_copy(desc->affinity, mask);
+
+       return apic->cpu_mask_to_apicid_and(desc->affinity, cfg->domain);
 }
 
 static void