Re: [PATCH] Blacklist Dell Optiplex 320 from using the HPET

Andi Kleen
2007-05-05T17:24:21Z

> if (!is_hpet_capable())
> @@ -278,6 +279,14 @@ int __init hpet_enable(void)
> /* Start the counter */
> hpet_start_counter();
>
> + /* Verify whether hpet counter works */
> + t1 = hpet_read();
> + udelay(50);

Are you sure udelay is calibrated at this point? I didn't think so.
In fact it needs the external clocks and it's a chicken and egg problem.

It might be safer to use a long loop with io port accesses or similar.

-Andi

> + if (t1 == hpet_read()) {
> + printk(KERN_WARNING "HPET counter is defect\n");
> + goto out_nohpet;
> + }
> +
> /* Initialize and register HPET clocksource
> *
> * hpet period is in femto seconds per cycle
>
>
>