Re: "double" hpet clocksource && hard freeze [bisected]

From: Clemens Ladisch
Date: Tue Aug 28 2007 - 04:30:54 EST


Luck, Tony wrote:
[...] Given that the hang went away when you applied the earlier patch, I
conclude that the drivers/char/hpet.c code is the one that got selected when
you had two "hpet" entries ... and that there is something wrong with that
code that doesn't work right on x86_64.

Apparently, the 'generic' code was just copied from ia64 and assumes that the
timer is 64 bits. This is not true with hardware from VIA (even on x86_64).

This patch should make it work (although I'd prefer to set the mask dynamically
according to the hardware caps).

--- a/drivers/char/hpet.c Tue Aug 28 09:42:22 2007
+++ b/drivers/char/hpet.c Tue Aug 28 10:16:54 2007
@@ -73,7 +73,7 @@
.name = "hpet",
.rating = 250,
.read = read_hpet,
- .mask = CLOCKSOURCE_MASK(64),
+ .mask = CLOCKSOURCE_MASK(32),
.mult = 0, /*to be caluclated*/
.shift = 10,
.flags = CLOCK_SOURCE_IS_CONTINUOUS,


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/