diff options
| -rw-r--r-- | arch/x86/kernel/apic/io_apic.c | 4 | 
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c index 1817fa91102..f78fc2b4deb 100644 --- a/arch/x86/kernel/apic/io_apic.c +++ b/arch/x86/kernel/apic/io_apic.c @@ -2199,9 +2199,11 @@ static int ioapic_retrigger_irq(struct irq_data *data)  {  	struct irq_cfg *cfg = data->chip_data;  	unsigned long flags; +	int cpu;  	raw_spin_lock_irqsave(&vector_lock, flags); -	apic->send_IPI_mask(cpumask_of(cpumask_first(cfg->domain)), cfg->vector); +	cpu = cpumask_first_and(cfg->domain, cpu_online_mask); +	apic->send_IPI_mask(cpumask_of(cpu), cfg->vector);  	raw_spin_unlock_irqrestore(&vector_lock, flags);  	return 1;  |