From 517a79df99cf8837b2b7c15876eb0b6c6b1fec87 Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Mon, 22 Dec 2014 14:30:41 +0000 Subject: [PATCH] trs80: ensure the rtc digit wrap doesn't catch us out --- Kernel/platform-trs80/main.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Kernel/platform-trs80/main.c b/Kernel/platform-trs80/main.c index b03c22ed..63935c5b 100644 --- a/Kernel/platform-trs80/main.c +++ b/Kernel/platform-trs80/main.c @@ -49,8 +49,13 @@ __sfr __at 0xB1 rtc_sech; uint8_t rtc_secs(void) { - /* BCD encoded */ - return rtc_secl + 10 * rtc_sech; + uint8_t sl, rv; + /* BCD encoded */ + do { + sl = rtc_secl; + rv = sl + rtc_sech * 10; + } while (sl != rtc_secl); + return rv; } #endif -- 2.34.1