<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">diff -ruNp 171-single-get_cmos_time-call.patch-old/arch/i386/kernel/time.c 171-single-get_cmos_time-call.patch-new/arch/i386/kernel/time.c
--- 171-single-get_cmos_time-call.patch-old/arch/i386/kernel/time.c	2005-06-20 11:46:43.000000000 +1000
+++ 171-single-get_cmos_time-call.patch-new/arch/i386/kernel/time.c	2005-07-06 11:02:21.000000000 +1000
@@ -381,9 +381,11 @@ static int timer_suspend(struct sys_devi
 	/*
 	 * Estimate time zone so that set_time can update the clock
 	 */
-	clock_cmos_diff = -get_cmos_time();
+	long cmos_time = get_cmos_time();
+	
+	clock_cmos_diff = -cmos_time;
 	clock_cmos_diff += get_seconds();
-	sleep_start = get_cmos_time();
+	sleep_start = cmos_time;
 	return 0;
 }
 
@@ -392,13 +394,15 @@ static int timer_resume(struct sys_devic
 	unsigned long flags;
 	unsigned long sec;
 	unsigned long sleep_length;
+	unsigned long cmos_time;
 
 #ifdef CONFIG_HPET_TIMER
 	if (is_hpet_enabled())
 		hpet_reenable();
 #endif
-	sec = get_cmos_time() + clock_cmos_diff;
-	sleep_length = (get_cmos_time() - sleep_start) * HZ;
+	cmos_time = get_cmos_time();
+	sec = cmos_time + clock_cmos_diff;
+	sleep_length = (cmos_time - sleep_start) * HZ;
 	write_seqlock_irqsave(&amp;xtime_lock, flags);
 	xtime.tv_sec = sec;
 	xtime.tv_nsec = 0;
</pre></body></html>