diff options
author | David S. Miller <davem@davemloft.net> | 2005-05-03 22:04:36 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2005-05-03 22:04:36 -0700 |
commit | cee2824f85414c98fff4004e335a6bc4072c8809 (patch) | |
tree | 374fff3b0ad0bb6f28aa0d5a0a0c90a09ce78d35 /arch/sparc64/kernel/irq.c | |
parent | 8800cea62025a5209d110c5fa5990429239d6eee (diff) | |
download | blackbird-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.c | 4 |
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; } |