| From b3ff11ff90a1b26bfba66dd723c2a28c8a4a68dd Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Mon, 29 Jun 2020 13:41:23 +0200 |
| Subject: rtc: cpcap: fix range |
| |
| From: Sebastian Reichel <sebastian.reichel@collabora.com> |
| |
| [ Upstream commit 3180cfabf6fbf982ca6d1a6eb56334647cc1416b ] |
| |
| Unbreak CPCAP driver, which has one more bit in the day counter |
| increasing the max. range from 2014 to 2058. The original commit |
| introducing the range limit was obviously wrong, since the driver |
| has only been written in 2017 (3 years after 14 bits would have |
| run out). |
| |
| Fixes: d2377f8cc5a7 ("rtc: cpcap: set range") |
| Reported-by: Sicelo A. Mhlongo <absicsz@gmail.com> |
| Reported-by: Dev Null <devnull@uvos.xyz> |
| Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com> |
| Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> |
| Tested-by: Merlijn Wajer <merlijn@wizzup.org> |
| Acked-by: Tony Lindgren <tony@atomide.com> |
| Acked-by: Merlijn Wajer <merlijn@wizzup.org> |
| Link: https://lore.kernel.org/r/20200629114123.27956-1-sebastian.reichel@collabora.com |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/rtc/rtc-cpcap.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/drivers/rtc/rtc-cpcap.c b/drivers/rtc/rtc-cpcap.c |
| index a603f1f211250..800667d73a6fb 100644 |
| --- a/drivers/rtc/rtc-cpcap.c |
| +++ b/drivers/rtc/rtc-cpcap.c |
| @@ -261,7 +261,7 @@ static int cpcap_rtc_probe(struct platform_device *pdev) |
| return PTR_ERR(rtc->rtc_dev); |
| |
| rtc->rtc_dev->ops = &cpcap_rtc_ops; |
| - rtc->rtc_dev->range_max = (1 << 14) * SECS_PER_DAY - 1; |
| + rtc->rtc_dev->range_max = (timeu64_t) (DAY_MASK + 1) * SECS_PER_DAY - 1; |
| |
| err = cpcap_get_vendor(dev, rtc->regmap, &rtc->vendor); |
| if (err) |
| -- |
| 2.25.1 |
| |