diff options
Diffstat (limited to 'arch/x86/kernel/io_apic.c')
| -rw-r--r-- | arch/x86/kernel/io_apic.c | 5 | 
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/x86/kernel/io_apic.c b/arch/x86/kernel/io_apic.c index 1c4a1302536..9b0c480c383 100644 --- a/arch/x86/kernel/io_apic.c +++ b/arch/x86/kernel/io_apic.c @@ -2528,14 +2528,15 @@ static void irq_complete_move(struct irq_desc **descp)  	vector = ~get_irq_regs()->orig_ax;  	me = smp_processor_id(); + +	if (vector == cfg->vector && cpumask_test_cpu(me, cfg->domain)) {  #ifdef CONFIG_NUMA_MIGRATE_IRQ_DESC  		*descp = desc = move_irq_desc(desc, me);  		/* get the new one */  		cfg = desc->chip_data;  #endif - -	if (vector == cfg->vector && cpumask_test_cpu(me, cfg->domain))  		send_cleanup_vector(cfg); +	}  }  #else  static inline void irq_complete_move(struct irq_desc **descp) {}  |