]> git.karo-electronics.de Git - mv-sheeva.git/commitdiff
x86, uv: Remove recursion in uv_heartbeat_enable()
authorRoel Kluin <roel.kluin@gmail.com>
Thu, 7 Jan 2010 14:35:42 +0000 (15:35 +0100)
committerH. Peter Anvin <hpa@zytor.com>
Thu, 7 Jan 2010 19:50:06 +0000 (11:50 -0800)
The recursion is not needed and does not improve readability.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
LKML-Reference: <4B45F13E.3040202@gmail.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
arch/x86/kernel/apic/x2apic_uv_x.c

index af5d103bb533eab1d39ff57a6c8c8c0d6e7d304c..d199dc34f54ae37c3a1e57a914ee307f107b44f2 100644 (file)
@@ -475,7 +475,7 @@ static void uv_heartbeat(unsigned long ignored)
 
 static void __cpuinit uv_heartbeat_enable(int cpu)
 {
-       if (!uv_cpu_hub_info(cpu)->scir.enabled) {
+       while (!uv_cpu_hub_info(cpu)->scir.enabled) {
                struct timer_list *timer = &uv_cpu_hub_info(cpu)->scir.timer;
 
                uv_set_cpu_scir_bits(cpu, SCIR_CPU_HEARTBEAT|SCIR_CPU_ACTIVITY);
@@ -483,11 +483,10 @@ static void __cpuinit uv_heartbeat_enable(int cpu)
                timer->expires = jiffies + SCIR_CPU_HB_INTERVAL;
                add_timer_on(timer, cpu);
                uv_cpu_hub_info(cpu)->scir.enabled = 1;
-       }
 
-       /* check boot cpu */
-       if (!uv_cpu_hub_info(0)->scir.enabled)
-               uv_heartbeat_enable(0);
+               /* also ensure that boot cpu is enabled */
+               cpu = 0;
+       }
 }
 
 #ifdef CONFIG_HOTPLUG_CPU