Fix a race in the initialization of HPET, which might result in a 5 minute lockup on boot. Signed-off-by: Jiri Bohac Index: linux-2.6.20-rc5/arch/x86_64/kernel/apic.c =================================================================== --- linux-2.6.20-rc5.orig/arch/x86_64/kernel/apic.c +++ linux-2.6.20-rc5/arch/x86_64/kernel/apic.c @@ -764,10 +767,12 @@ static void setup_APIC_timer(unsigned in /* wait for irq slice */ if (vxtime.hpet_address && hpet_use_timer) { - int trigger = hpet_readl(HPET_T0_CMP); - while (hpet_readl(HPET_COUNTER) >= trigger) - /* do nothing */ ; - while (hpet_readl(HPET_COUNTER) < trigger) + int trigger; + do + trigger = hpet_readl(HPET_T0_CMP); + while (hpet_readl(HPET_COUNTER) >= trigger); + + while (hpet_readl(HPET_COUNTER) < trigger) /* do nothing */ ; } else { int c1, c2; -- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/