rtc: extend check for RTCs that don't support interrupts
Several RTCs would only expose the broken behavior on enabling interrupts. The reason for that is that the kernel only returns the error if the state changes. Therefore the check has to probe switch_interrupts(1) as well. On platforms that work it will be switched on and off, while on those it never works it will just stay off. 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.ehrhardt@canonical.com>
This commit is contained in:
parent
f5eb7daf20
commit
bff3f51d13
1 changed files with 1 additions and 1 deletions
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue