[SPARC64]: Fix goal_cpu tracking in retarget_one_irq().
authorDavid S. Miller <davem@davemloft.net>
Wed, 4 May 2005 05:04:36 +0000 (22:04 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 4 May 2005 05:04:36 +0000 (22:04 -0700)
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>
arch/sparc64/kernel/irq.c

index a38cb50..ab2f368 100644 (file)
@@ -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;
 }