Browse Source

[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>
David S. Miller 20 years ago
parent
commit
cee2824f85
1 changed files with 2 additions and 2 deletions
  1. 2 2
      arch/sparc64/kernel/irq.c

+ 2 - 2
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);
 	upa_writel(tid | IMAP_VALID, imap);
 
 
-	while (!cpu_online(goal_cpu)) {
+	do {
 		if (++goal_cpu >= NR_CPUS)
 		if (++goal_cpu >= NR_CPUS)
 			goal_cpu = 0;
 			goal_cpu = 0;
-	}
+	} while (!cpu_online(goal_cpu));
 
 
 	return goal_cpu;
 	return goal_cpu;
 }
 }