aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86')
-rw-r--r--arch/x86/kernel/apic/io_apic.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
index 86827d85488a..1ed6c0600cde 100644
--- a/arch/x86/kernel/apic/io_apic.c
+++ b/arch/x86/kernel/apic/io_apic.c
@@ -592,8 +592,9 @@ set_desc_affinity(struct irq_desc *desc, const struct cpumask *mask)
592 if (assign_irq_vector(irq, cfg, mask)) 592 if (assign_irq_vector(irq, cfg, mask))
593 return BAD_APICID; 593 return BAD_APICID;
594 594
595 cpumask_and(desc->affinity, cfg->domain, mask); 595 /* check that before desc->addinity get updated */
596 set_extra_move_desc(desc, mask); 596 set_extra_move_desc(desc, mask);
597 cpumask_and(desc->affinity, cfg->domain, mask);
597 598
598 return apic->cpu_mask_to_apicid_and(desc->affinity, cpu_online_mask); 599 return apic->cpu_mask_to_apicid_and(desc->affinity, cpu_online_mask);
599} 600}