x86: Re-get cfg_new in case reuse/move irq_desc
authorYinghai Lu <yinghai@kernel.org>
Sat, 21 Nov 2009 08:23:37 +0000 (00:23 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 23 Feb 2010 15:37:56 +0000 (07:37 -0800)
commit 37ef2a3029fde884808ff1b369677abc7dd9a79a upstream.

When irq_desc is moved, we need to make sure to use the right cfg_new.

Signed-off-by: Yinghai Lu <yinghai@kernel.org>
LKML-Reference: <4B07A739.3030104@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
arch/x86/kernel/apic/io_apic.c

index dc69f28489f5bc9a2873a8d22b084bec313d9912..c107e837ed7d6a8ff5b66a749fd0beb1e241772f 100644 (file)
@@ -3157,6 +3157,7 @@ unsigned int create_irq_nr(unsigned int irq_want, int node)
                        continue;
 
                desc_new = move_irq_desc(desc_new, node);
+               cfg_new = desc_new->chip_data;
 
                if (__assign_irq_vector(new, cfg_new, apic->target_cpus()) == 0)
                        irq = new;