diff options
author | 2021-02-02 14:21:31 -0800 | |
---|---|---|
committer | 2021-02-02 14:21:31 -0800 | |
commit | d1e1355aefcc0cbda750a8931e93e1e04a5b0b6a (patch) | |
tree | f43b81751cb5c5736268057ecdbcdb99dd00e826 /drivers/rtc/rtc-cmos.c | |
parent | Merge branch 'rework-the-memory-barrier-for-scrq-entry' (diff) | |
parent | Merge tag 'clang-format-for-linux-v5.11-rc7' of git://github.com/ojeda/linux (diff) | |
download | wireguard-linux-d1e1355aefcc0cbda750a8931e93e1e04a5b0b6a.tar.xz wireguard-linux-d1e1355aefcc0cbda750a8931e93e1e04a5b0b6a.zip |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers/rtc/rtc-cmos.c')
-rw-r--r-- | drivers/rtc/rtc-cmos.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/rtc/rtc-cmos.c b/drivers/rtc/rtc-cmos.c index 51e80bc70d42..68a9ac6f2fe1 100644 --- a/drivers/rtc/rtc-cmos.c +++ b/drivers/rtc/rtc-cmos.c @@ -805,6 +805,14 @@ cmos_do_probe(struct device *dev, struct resource *ports, int rtc_irq) spin_lock_irq(&rtc_lock); + /* Ensure that the RTC is accessible. Bit 0-6 must be 0! */ + if ((CMOS_READ(RTC_VALID) & 0x7f) != 0) { + spin_unlock_irq(&rtc_lock); + dev_warn(dev, "not accessible\n"); + retval = -ENXIO; + goto cleanup1; + } + if (!(flags & CMOS_RTC_FLAGS_NOFREQ)) { /* force periodic irq to CMOS reset default of 1024Hz; * |