Author: kib
Date: Sun Sep  2 20:17:51 2018
New Revision: 338435
URL: https://svnweb.freebsd.org/changeset/base/338435

Log:
  Improve error messages from clock_if.m method failures.
  
  Print error message in verbose mode when CLOCK_SETTIME() clock_if.m
  method failed.  For EFIRT RTC clock, add error code for the failure of
  CLOCK_GETTIME() report.
  
  Reviewed by:  kevans
  Sponsored by: The FreeBSD Foundation
  MFC after:    1 week
  Approved by:    re (rgrimes)
  Differential revision:        https://reviews.freebsd.org/D16972

Modified:
  head/sys/dev/efidev/efirtc.c
  head/sys/kern/subr_rtc.c

Modified: head/sys/dev/efidev/efirtc.c
==============================================================================
--- head/sys/dev/efidev/efirtc.c        Sun Sep  2 20:07:36 2018        
(r338434)
+++ head/sys/dev/efidev/efirtc.c        Sun Sep  2 20:17:51 2018        
(r338435)
@@ -74,7 +74,8 @@ efirtc_probe(device_t dev)
         */
        if ((error = efi_get_time(&tm)) != 0) {
                if (bootverbose)
-                       device_printf(dev, "cannot read EFI realtime clock\n");
+                       device_printf(dev, "cannot read EFI realtime clock, "
+                           "error %d\n", error);
                return (error);
        }
        device_set_desc(dev, "EFI Realtime Clock");

Modified: head/sys/kern/subr_rtc.c
==============================================================================
--- head/sys/kern/subr_rtc.c    Sun Sep  2 20:07:36 2018        (r338434)
+++ head/sys/kern/subr_rtc.c    Sun Sep  2 20:17:51 2018        (r338435)
@@ -138,6 +138,7 @@ settime_task_func(void *arg, int pending)
 {
        struct timespec ts;
        struct rtc_instance *rtc;
+       int error;
 
        rtc = arg;
        if (!(rtc->flags & CLOCKF_SETTIME_NO_TS)) {
@@ -150,7 +151,9 @@ settime_task_func(void *arg, int pending)
                ts.tv_sec  = 0;
                ts.tv_nsec = 0;
        }
-       CLOCK_SETTIME(rtc->clockdev, &ts);
+       error = CLOCK_SETTIME(rtc->clockdev, &ts);
+       if (error != 0 && bootverbose)
+               device_printf(rtc->clockdev, "CLOCK_SETTIME error %d\n", error);
 }
 
 static void
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to