[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20260209053439.313825-1-andi.platschek@gmail.com>
Date: Mon, 9 Feb 2026 06:34:39 +0100
From: Andreas Gabriel-Platschek <andi.platschek@...il.com>
To: alexandre.belloni@...tlin.com
Cc: linux-rtc@...r.kernel.org,
linux-kernel@...r.kernel.org,
Andreas Gabriel-Platschek <andi.platschek@...il.com>
Subject: [PATCH] rtc: ds1390: fix number of bytes read from RTC
The spi_write_then_read() reads 8 bytes starting from
DS1390_REG_SECONDS (== 0x01), so the last byte read would already
be part of the alarm (Tenths and Hundredths of Seconds) feature.
However 7 bytes are engouh -- seconds (0x01), minutes (0x02), hours (0x03),
day (0x04), date (0x05), month/century (0x06) and year (0x07).
Signed-off-by: Andreas Gabriel-Platschek <andi.platschek@...il.com>
---
drivers/rtc/rtc-ds1390.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/rtc/rtc-ds1390.c b/drivers/rtc/rtc-ds1390.c
index f46428ca77cc..f7afd6bdeb4a 100644
--- a/drivers/rtc/rtc-ds1390.c
+++ b/drivers/rtc/rtc-ds1390.c
@@ -134,7 +134,7 @@ static int ds1390_read_time(struct device *dev, struct rtc_time *dt)
chip->txrx_buf[0] = DS1390_REG_SECONDS;
/* do the i/o */
- status = spi_write_then_read(spi, chip->txrx_buf, 1, chip->txrx_buf, 8);
+ status = spi_write_then_read(spi, chip->txrx_buf, 1, chip->txrx_buf, 7);
if (status != 0)
return status;
--
2.47.3
Powered by blists - more mailing lists