[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: