[Bug 264729] RTC clock is set incorrectly upon resume if NTP is in use

From: <bugzilla-noreply_at_freebsd.org>
Date: Fri, 17 Jun 2022 04:29:38 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=264729

            Bug ID: 264729
           Summary: RTC clock is set incorrectly upon resume if NTP is in
                    use
           Product: Base System
           Version: 13.1-RELEASE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: kern
          Assignee: bugs@FreeBSD.org
          Reporter: crahman@gmail.com

Upon resuming after a suspend, if ntpd is running, kern_ntptime.c's scheduled
periodic_resettodr() will often run before subr_rtc.c's inittodr().  As a
result, the rough kernel time gets stored into the RTC before it is used to
initialize the kernel time.

As a result, the time after a suspend/resume cycle is often many minutes (or
occasionally, hours) wrong.

Ideally resettodr() would be run before a suspend completed, and any pending
periodic_resettodr()'s would be postponed until after inittodr() is run during
resumes.

-- 
You are receiving this mail because:
You are the assignee for the bug.