From 8014c3cd09641c56eddf78f95320db2ce7e278fe Mon Sep 17 00:00:00 2001 From: Sylvain Munaut Date: Thu, 21 Apr 2022 23:27:57 +0200 Subject: [PATCH] icE1usb fw/gpsdo: Never use invalid measurements to feed loop Signed-off-by: Sylvain Munaut Change-Id: I9c7b81c6e2e600ed49ac766fa33df23747dd339e --- firmware/ice40-riscv/icE1usb/gpsdo.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/firmware/ice40-riscv/icE1usb/gpsdo.c b/firmware/ice40-riscv/icE1usb/gpsdo.c index cd9866c..7e3682f 100644 --- a/firmware/ice40-riscv/icE1usb/gpsdo.c +++ b/firmware/ice40-riscv/icE1usb/gpsdo.c @@ -286,10 +286,11 @@ gpsdo_poll(void) } else { /* Count invalid measurements and if too many of * them, we go back to hold-over */ - if (++g_gpsdo.meas.invalid >= MAX_INVALID) { + if (++g_gpsdo.meas.invalid >= MAX_INVALID) g_gpsdo.state = STATE_HOLD_OVER; - return; - } + + /* In all cases, invalid measurements are not used */ + return; } g_gpsdo.meas.invalid = 0;