From: Thomas Schlichter <thomas.schlichter@web.de>

Well, your patch was the correct direction, but it did not completely reac
the target...  :-( The 'monotonic_base' variable in the PMTMR stores its
value in microseconds.  So the 'base' value has to be convertet to
nanoseconds, too...




 arch/i386/kernel/timers/timer_pm.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff -puN arch/i386/kernel/timers/timer_pm.c~timer_pm-monotonic-clock-fix arch/i386/kernel/timers/timer_pm.c
--- 25/arch/i386/kernel/timers/timer_pm.c~timer_pm-monotonic-clock-fix	2003-11-19 00:43:30.000000000 -0800
+++ 25-akpm/arch/i386/kernel/timers/timer_pm.c	2003-11-19 00:43:30.000000000 -0800
@@ -150,7 +150,7 @@ static unsigned long long monotonic_cloc
 
 	/* convert to nanoseconds */
 	ret = ((this_offset - last_offset) & ACPI_PM_MASK);
-	ret = base + (cyc2us(ret)*1000);
+	ret = (base + cyc2us(ret)) * NSEC_PER_USEC;
 	return ret;
 }
 

_