Bug#291333: clock time incorrect after suspend/resume [PATCH]
Package: kernel-source-2.6.10
Version: 2.6.10-4
Severity: normal
Tags: patch
The 2.6.10 kernel introduced a problem with the system clock after a
suspend/resume cycle. Although the hardware clock retains the correct time,
the system clock goes fast by many hours after resuming. Obviously, this
screws up convenient use of the file system.
The kernel developers have identified the problem in the wall-clock jiffies,
and a patch is available. I believe it has already been fixed in 2.6.11-rc1.
The patch is:
diff -ruNp 910-original-time-patch-old/arch/i386/kernel/time.c
910-original-time-patch-new/arch/i386/kernel/time.c
--- 910-original-time-patch-old/arch/i386/kernel/time.c 2004-12-27
+++ 910-original-time-patch-new/arch/i386/kernel/time.c 2005-01-08
@@ -343,12 +343,13 @@ static int timer_resume(struct sys_devic
hpet_reenable();
#endif
sec = get_cmos_time() + clock_cmos_diff;
- sleep_length = get_cmos_time() - sleep_start;
+ sleep_length = (get_cmos_time() - sleep_start) * HZ;
write_seqlock_irqsave(&xtime_lock, flags);
xtime.tv_sec = sec;
xtime.tv_nsec = 0;
write_sequnlock_irqrestore(&xtime_lock, flags);
- jiffies += sleep_length * HZ;
+ jiffies += sleep_length;
+ wall_jiffies += sleep_length;
return 0;
}
(taken from the linux-kernel mailing list at
http://marc.theaimsgroup.com/?l=linux-kernel&m=110557084814587&w=2)
Drew
-- System Information:
Debian Release: 3.1
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.6.10
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8)
Versions of packages kernel-source-2.6.10 depends on:
ii binutils 2.15-5 The GNU assembler, linker and bina
ii bzip2 1.0.2-3 high-quality block-sorting file co
ii coreutils [fileutils] 5.2.1-2 The GNU core utilities
-- no debconf information
Reply to: