Revision fbb974ba693bbfb4e24a62181ef16d4e45febc37 authored by Hans de Goede on 04 September 2018, 14:51:29 UTC, committed by Alexandre Belloni on 07 November 2018, 16:13:55 UTC
When there is no IRQ configured for the RTC, the rtc-cmos code does not
support alarms, all alarm rtc_ops fail with -EIO / -EINVAL.

The rtc-core expects a rtc driver which does not support rtc alarms to
not have alarm ops at all. Otherwise the wakealarm sysfs attr will read
as empty rather then returning an error, making it impossible for
userspace to find out beforehand if alarms are supported.

A system without an IRQ for the RTC before this patch:
[root@localhost ~]# cat /sys/class/rtc/rtc0/wakealarm
[root@localhost ~]#

After this patch:
[root@localhost ~]# cat /sys/class/rtc/rtc0/wakealarm
cat: /sys/class/rtc/rtc0/wakealarm: No such file or directory
[root@localhost ~]#

This fixes gnome-session + systemd trying to use suspend-then-hibernate,
which causes systemd to abort the suspend when writing the RTC alarm fails.

BugLink: https://github.com/systemd/systemd/issues/9988
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
1 parent 6510223
History
File Mode Size
asymmetric_keys
async_tx
842.c -rw-r--r-- 4.2 KB
Kconfig -rw-r--r-- 51.9 KB
Makefile -rw-r--r-- 5.9 KB
ablkcipher.c -rw-r--r-- 13.0 KB
acompress.c -rw-r--r-- 4.8 KB
aead.c -rw-r--r-- 10.2 KB
aegis.h -rw-r--r-- 2.2 KB
aegis128.c -rw-r--r-- 11.7 KB
aegis128l.c -rw-r--r-- 14.3 KB
aegis256.c -rw-r--r-- 12.4 KB
aes_generic.c -rw-r--r-- 62.1 KB
aes_ti.c -rw-r--r-- 12.3 KB
af_alg.c -rw-r--r-- 26.0 KB
ahash.c -rw-r--r-- 15.9 KB
akcipher.c -rw-r--r-- 3.9 KB
algapi.c -rw-r--r-- 22.9 KB
algboss.c -rw-r--r-- 6.0 KB
algif_aead.c -rw-r--r-- 16.0 KB
algif_hash.c -rw-r--r-- 9.8 KB
algif_rng.c -rw-r--r-- 5.2 KB
algif_skcipher.c -rw-r--r-- 10.1 KB
ansi_cprng.c -rw-r--r-- 10.9 KB
anubis.c -rw-r--r-- 27.8 KB
api.c -rw-r--r-- 13.9 KB
arc4.c -rw-r--r-- 3.4 KB
authenc.c -rw-r--r-- 13.9 KB
authencesn.c -rw-r--r-- 15.3 KB
blkcipher.c -rw-r--r-- 15.0 KB
blowfish_common.c -rw-r--r-- 15.7 KB
blowfish_generic.c -rw-r--r-- 3.4 KB
camellia_generic.c -rw-r--r-- 34.9 KB
cast5_generic.c -rw-r--r-- 20.8 KB
cast6_generic.c -rw-r--r-- 9.4 KB
cast_common.c -rw-r--r-- 13.1 KB
cbc.c -rw-r--r-- 5.1 KB
ccm.c -rw-r--r-- 25.6 KB
cfb.c -rw-r--r-- 8.6 KB
chacha20_generic.c -rw-r--r-- 3.6 KB
chacha20poly1305.c -rw-r--r-- 19.4 KB
cipher.c -rw-r--r-- 3.3 KB
cmac.c -rw-r--r-- 7.7 KB
compress.c -rw-r--r-- 1.3 KB
crc32_generic.c -rw-r--r-- 3.7 KB
crc32c_generic.c -rw-r--r-- 4.4 KB
crct10dif_common.c -rw-r--r-- 3.6 KB
crct10dif_generic.c -rw-r--r-- 3.2 KB
cryptd.c -rw-r--r-- 36.6 KB
crypto_engine.c -rw-r--r-- 13.5 KB
crypto_null.c -rw-r--r-- 5.3 KB
crypto_user_base.c -rw-r--r-- 13.4 KB
crypto_user_stat.c -rw-r--r-- 10.8 KB
crypto_wq.c -rw-r--r-- 972 bytes
ctr.c -rw-r--r-- 12.7 KB
cts.c -rw-r--r-- 12.0 KB
deflate.c -rw-r--r-- 7.9 KB
des_generic.c -rw-r--r-- 35.7 KB
dh.c -rw-r--r-- 4.9 KB
dh_helper.c -rw-r--r-- 3.6 KB
drbg.c -rw-r--r-- 57.2 KB
ecb.c -rw-r--r-- 4.9 KB
ecc.c -rw-r--r-- 27.1 KB
ecc.h -rw-r--r-- 3.7 KB
ecc_curve_defs.h -rw-r--r-- 2.1 KB
ecdh.c -rw-r--r-- 4.1 KB
ecdh_helper.c -rw-r--r-- 2.3 KB
echainiv.c -rw-r--r-- 4.5 KB
fcrypt.c -rw-r--r-- 18.0 KB
fips.c -rw-r--r-- 1.6 KB
gcm.c -rw-r--r-- 32.9 KB
gf128mul.c -rw-r--r-- 12.4 KB
ghash-generic.c -rw-r--r-- 3.5 KB
hash_info.c -rw-r--r-- 1.9 KB
hmac.c -rw-r--r-- 6.9 KB
internal.h -rw-r--r-- 3.7 KB
jitterentropy-kcapi.c -rw-r--r-- 6.0 KB
jitterentropy.c -rw-r--r-- 23.9 KB
keywrap.c -rw-r--r-- 11.4 KB
khazad.c -rw-r--r-- 51.8 KB
kpp.c -rw-r--r-- 3.0 KB
lrw.c -rw-r--r-- 10.8 KB
lz4.c -rw-r--r-- 3.9 KB
lz4hc.c -rw-r--r-- 4.0 KB
lzo.c -rw-r--r-- 3.9 KB
md4.c -rw-r--r-- 5.9 KB
md5.c -rw-r--r-- 7.4 KB
memneq.c -rw-r--r-- 6.1 KB
michael_mic.c -rw-r--r-- 3.6 KB
morus1280.c -rw-r--r-- 14.1 KB
morus640.c -rw-r--r-- 13.7 KB
ofb.c -rw-r--r-- 5.3 KB
pcbc.c -rw-r--r-- 7.7 KB
pcrypt.c -rw-r--r-- 13.2 KB
poly1305_generic.c -rw-r--r-- 7.7 KB
proc.c -rw-r--r-- 2.7 KB
ripemd.h -rw-r--r-- 1013 bytes
rmd128.c -rw-r--r-- 10.2 KB
rmd160.c -rw-r--r-- 12.6 KB
rmd256.c -rw-r--r-- 10.5 KB
rmd320.c -rw-r--r-- 13.0 KB
rng.c -rw-r--r-- 4.9 KB
rsa-pkcs1pad.c -rw-r--r-- 17.6 KB
rsa.c -rw-r--r-- 7.5 KB
rsa_helper.c -rw-r--r-- 4.2 KB
rsaprivkey.asn1 -rw-r--r-- 316 bytes
rsapubkey.asn1 -rw-r--r-- 82 bytes
salsa20_generic.c -rw-r--r-- 6.0 KB
scatterwalk.c -rw-r--r-- 2.2 KB
scompress.c -rw-r--r-- 7.5 KB
seed.c -rw-r--r-- 17.4 KB
seqiv.c -rw-r--r-- 5.3 KB
serpent_generic.c -rw-r--r-- 21.4 KB
sha1_generic.c -rw-r--r-- 2.6 KB
sha256_generic.c -rw-r--r-- 11.0 KB
sha3_generic.c -rw-r--r-- 8.2 KB
sha512_generic.c -rw-r--r-- 8.0 KB
shash.c -rw-r--r-- 14.7 KB
simd.c -rw-r--r-- 7.2 KB
skcipher.c -rw-r--r-- 27.1 KB
sm3_generic.c -rw-r--r-- 4.6 KB
sm4_generic.c -rw-r--r-- 6.3 KB
tcrypt.c -rw-r--r-- 77.0 KB
tcrypt.h -rw-r--r-- 4.4 KB
tea.c -rw-r--r-- 6.6 KB
testmgr.c -rw-r--r-- 84.5 KB
testmgr.h -rw-r--r-- 1.1 MB
tgr192.c -rw-r--r-- 30.4 KB
twofish_common.c -rw-r--r-- 37.8 KB
twofish_generic.c -rw-r--r-- 6.2 KB
vmac.c -rw-r--r-- 18.8 KB
wp512.c -rw-r--r-- 59.7 KB
xcbc.c -rw-r--r-- 7.2 KB
xor.c -rw-r--r-- 3.8 KB
xts.c -rw-r--r-- 9.0 KB
zstd.c -rw-r--r-- 5.3 KB

back to top