| From 6bcf0e5074f5f0777027bc1ded0d06002084f48c Mon Sep 17 00:00:00 2001 |
| From: Paul Kocialkowski <paul.kocialkowski@bootlin.com> |
| Date: Thu, 12 Dec 2019 16:31:10 +0100 |
| Subject: [PATCH] rtc: hym8563: Return -EINVAL if the time is known to be |
| invalid |
| |
| 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: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/rtc/rtc-hym8563.c b/drivers/rtc/rtc-hym8563.c |
| index 443f6d05ce29..fb6d7967ec00 100644 |
| --- a/drivers/rtc/rtc-hym8563.c |
| +++ b/drivers/rtc/rtc-hym8563.c |
| @@ -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); |
| -- |
| 2.7.4 |
| |