]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
rtc: ds1307: remove clear of oscillator stop flag (OSF) in probe
authorMeagan Lloyd <meaganlloyd@linux.microsoft.com>
Wed, 11 Jun 2025 18:14:15 +0000 (11:14 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 28 Aug 2025 14:26:03 +0000 (16:26 +0200)
commit7f88614c4d86cf477bda5f666b71b99bdd177dee
treeccd106c9c7b0d6539a26a3cffaaa0d8caab8e6bd
parent9be5c04beca3202d0a5f09fb4b2ecb644caa0bc5
rtc: ds1307: remove clear of oscillator stop flag (OSF) in probe

[ Upstream commit 48458654659c9c2e149c211d86637f1592470da5 ]

In using CONFIG_RTC_HCTOSYS, rtc_hctosys() will sync the RTC time to the
kernel time as long as rtc_read_time() succeeds. In some power loss
situations, our supercapacitor-backed DS1342 RTC comes up with either an
unpredictable future time or the default 01/01/00 from the datasheet.
The oscillator stop flag (OSF) is set in these scenarios due to the
power loss and can be used to determine the validity of the RTC data.

Some chip types in the ds1307 driver already have OSF handling to
determine whether .read_time provides valid RTC data or returns -EINVAL.

This change removes the clear of the OSF in .probe as the OSF needs to
be preserved to expand the OSF handling to the ds1341 chip type (note
that DS1341 and DS1342 share a datasheet).

Signed-off-by: Meagan Lloyd <meaganlloyd@linux.microsoft.com>
Reviewed-by: Tyler Hicks <code@tyhicks.com>
Acked-by: Rodolfo Giometti <giometti@enneenne.com>
Link: https://lore.kernel.org/r/1749665656-30108-2-git-send-email-meaganlloyd@linux.microsoft.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/rtc/rtc-ds1307.c