Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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@gmail.com>
Link: https://patch.msgid.link/20260209053439.313825-1-andi.platschek@gmail.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>

authored by

Andreas Gabriel-Platschek and committed by
Alexandre Belloni
969c3cca 76e8919a

+1 -1
+1 -1
drivers/rtc/rtc-ds1390.c
··· 134 134 chip->txrx_buf[0] = DS1390_REG_SECONDS; 135 135 136 136 /* do the i/o */ 137 - status = spi_write_then_read(spi, chip->txrx_buf, 1, chip->txrx_buf, 8); 137 + status = spi_write_then_read(spi, chip->txrx_buf, 1, chip->txrx_buf, 7); 138 138 if (status != 0) 139 139 return status; 140 140