]> git.ipfire.org Git - thirdparty/kernel/stable.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)
committerBen Hutchings <ben@decadent.org.uk>
Fri, 22 May 2020 20:19:21 +0000 (21:19 +0100)
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: Ben Hutchings <ben@decadent.org.uk>
drivers/rtc/rtc-hym8563.c

index 280584b2813b7cd8c50cc89a113d4fba0cf1e382..93ac58d11f3deb85c78752ed6ddd480f0354c9aa 100644 (file)
@@ -105,7 +105,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);