diff options
author | David S. Miller <davem@davemloft.net> | 2005-05-04 01:04:36 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2005-05-04 01:04:36 -0400 |
commit | cee2824f85414c98fff4004e335a6bc4072c8809 (patch) | |
tree | 374fff3b0ad0bb6f28aa0d5a0a0c90a09ce78d35 /arch | |
parent | 8800cea62025a5209d110c5fa5990429239d6eee (diff) |
[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')
-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) | |||
1007 | } | 1007 | } |
1008 | upa_writel(tid | IMAP_VALID, imap); | 1008 | upa_writel(tid | IMAP_VALID, imap); |
1009 | 1009 | ||
1010 | while (!cpu_online(goal_cpu)) { | 1010 | do { |
1011 | if (++goal_cpu >= NR_CPUS) | 1011 | if (++goal_cpu >= NR_CPUS) |
1012 | goal_cpu = 0; | 1012 | goal_cpu = 0; |
1013 | } | 1013 | } while (!cpu_online(goal_cpu)); |
1014 | 1014 | ||
1015 | return goal_cpu; | 1015 | return goal_cpu; |
1016 | } | 1016 | } |