]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commitdiff
rtc: hym8563: Return -EINVAL if the time is known to be invalid
authorPaul Kocialkowski <paul.kocialkowski@bootlin.com>
Thu, 12 Dec 2019 15:31:10 +0000 (16:31 +0100)
committerPaolo Pisati <paolo.pisati@canonical.com>
Mon, 17 Feb 2020 11:37:00 +0000 (12:37 +0100)
BugLink: https://bugs.launchpad.net/bugs/1863589
commit f236a2a2ebabad0848ad0995af7ad1dc7029e895 upstream.

The current code returns -EPERM when the voltage loss bit is set.
Since the bit indicates that the time value is not valid, return
-EINVAL instead, which is the appropriate error code for this
situation.

Fixes: dcaf03849352 ("rtc: add hym8563 rtc-driver")
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
Link: https://lore.kernel.org/r/20191212153111.966923-1-paul.kocialkowski@bootlin.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
drivers/rtc/rtc-hym8563.c

index 443f6d05ce29c5f0037ab25da54285f2ce21c063..fb6d7967ec006ab3c2f5c2c9a5c72368ef7f3b3f 100644 (file)
@@ -97,7 +97,7 @@ static int hym8563_rtc_read_time(struct device *dev, struct rtc_time *tm)
 
        if (!hym8563->valid) {
                dev_warn(&client->dev, "no valid clock/calendar values available\n");
-               return -EPERM;
+               return -EINVAL;
        }
 
        ret = i2c_smbus_read_i2c_block_data(client, HYM8563_SEC, 7, buf);