aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/kernel/apic/io_apic.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
index 1a30587a6bc2..2430b31c9857 100644
--- a/arch/x86/kernel/apic/io_apic.c
+++ b/arch/x86/kernel/apic/io_apic.c
@@ -1428,6 +1428,14 @@ static void setup_IO_APIC_irq(int apic_id, int pin, unsigned int irq, struct irq
1428 1428
1429 cfg = desc->chip_data; 1429 cfg = desc->chip_data;
1430 1430
1431 /*
1432 * For legacy irqs, cfg->domain starts with cpu 0 for legacy
1433 * controllers like 8259. Now that IO-APIC can handle this irq, update
1434 * the cfg->domain.
1435 */
1436 if (irq < nr_legacy_irqs && cpumask_test_cpu(0, cfg->domain))
1437 apic->vector_allocation_domain(0, cfg->domain);
1438
1431 if (assign_irq_vector(irq, cfg, apic->target_cpus())) 1439 if (assign_irq_vector(irq, cfg, apic->target_cpus()))
1432 return; 1440 return;
1433 1441