aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc64
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2005-05-03 22:04:36 -0700
committerDavid S. Miller <davem@davemloft.net>2005-05-03 22:04:36 -0700
commitcee2824f85414c98fff4004e335a6bc4072c8809 (patch)
tree374fff3b0ad0bb6f28aa0d5a0a0c90a09ce78d35 /arch/sparc64
parentMerge of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.git/ (diff)
downloadlinux-dev-cee2824f85414c98fff4004e335a6bc4072c8809.tar.xz
linux-dev-cee2824f85414c98fff4004e335a6bc4072c8809.zip
[SPARC64]: Fix goal_cpu tracking in retarget_one_irq().
We would never advance the goal_cpu counter like we should, so all IRQs would go to a single processor. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64')
-rw-r--r--arch/sparc64/kernel/irq.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/sparc64/kernel/irq.c b/arch/sparc64/kernel/irq.c
index a38cb5036df0..ab2f36863fa4 100644
--- a/arch/sparc64/kernel/irq.c
+++ b/arch/sparc64/kernel/irq.c
@@ -1007,10 +1007,10 @@ static int retarget_one_irq(struct irqaction *p, int goal_cpu)
}
upa_writel(tid | IMAP_VALID, imap);
- while (!cpu_online(goal_cpu)) {
+ do {
if (++goal_cpu >= NR_CPUS)
goal_cpu = 0;
- }
+ } while (!cpu_online(goal_cpu));
return goal_cpu;
}