Several RTCs would only expose the broken behavior on enabling
interrupts. Therefore the check has to probe switch_interrupts(1) as
well.

Clocks known to expose that behavior include, but are not limited to:
PPC64# dmesg | grep -i rtc   
[    0.241872] rtc-generic rtc-generic: registered as rtc0
[    0.270221] rtc-generic rtc-generic: setting system clock to ...
ARM64# dmesg | grep -i rtc
[    0.876198] rtc-efi rtc-efi: registered as rtc0
[    1.046869] rtc-efi rtc-efi: setting system clock to ...

Signed-off-by: Christian Ehrhardt <christian.ehrha...@canonical.com>
---
 rtc_linux.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/rtc_linux.c b/rtc_linux.c
index aee768f..a44a912 100644
--- a/rtc_linux.c
+++ b/rtc_linux.c
@@ -516,7 +516,7 @@ RTC_Linux_Initialise(void)
   }
 
   /* Make sure the RTC supports interrupts */
-  if (!switch_interrupts(0)) {
+  if (!switch_interrupts(1) || !switch_interrupts(0)) {
     close(fd);
     return 0;
   }
-- 
2.24.0


-- 
To unsubscribe email chrony-dev-requ...@chrony.tuxfamily.org with "unsubscribe" 
in the subject.
For help email chrony-dev-requ...@chrony.tuxfamily.org with "help" in the 
subject.
Trouble?  Email listmas...@chrony.tuxfamily.org.

Reply via email to