diff options
author | Kumar Gala <galak@kernel.crashing.org> | 2008-12-02 14:37:01 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-12-02 18:50:40 -0500 |
commit | 7a0d7940e7c7c143520e38900ddd4e217d3c6640 (patch) | |
tree | f2eb26e4c2f1eb6aa1033a50d935a265ff51bb18 /arch/powerpc/sysdev/mpic.c | |
parent | 9ff473b9a72942c5ac0ad35607cae28d8d59ed7a (diff) |
powerpc: Use physical cpu id when setting the processor affinity
In the CONFIG_SMP case the irq_choose_cpu() code was returning back
a logical cpu id not the physical id. We were writing that directly
into the HW register.
We need to be calling get_hard_smp_processor_id() so irq_choose_cpu()
always returns a physical cpu id.
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/powerpc/sysdev/mpic.c')
-rw-r--r-- | arch/powerpc/sysdev/mpic.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c index b24e1d085557..1890fb085cde 100644 --- a/arch/powerpc/sysdev/mpic.c +++ b/arch/powerpc/sysdev/mpic.c | |||
@@ -600,7 +600,7 @@ static int irq_choose_cpu(unsigned int virt_irq) | |||
600 | cpuid = first_cpu(tmp); | 600 | cpuid = first_cpu(tmp); |
601 | } | 601 | } |
602 | 602 | ||
603 | return cpuid; | 603 | return get_hard_smp_processor_id(cpuid); |
604 | } | 604 | } |
605 | #else | 605 | #else |
606 | static int irq_choose_cpu(unsigned int virt_irq) | 606 | static int irq_choose_cpu(unsigned int virt_irq) |