summaryrefslogtreecommitdiffstats
path: root/arch/sparc64/kernel/irq.c
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/kernel/irq.c
parent8800cea62025a5209d110c5fa5990429239d6eee (diff)
downloadblackbird-op-linux-cee2824f85414c98fff4004e335a6bc4072c8809.tar.gz
blackbird-op-linux-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/kernel/irq.c')
-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;
}
OpenPOWER on IntegriCloud