To check the HOLDOVER duration we compare the timestamp of the last known GNSS fix and current time and use this comparison to adjust the state of the card and MAC. Unfortunately, the last known GNSS fix timestamp was stored as UTC time came from GNSS, but later compared to monotonic clock timestamp. This comparison is incorrect. Store monotonic clock timestamp every time we recieve good GNSS time and use it later in all comparisons.
To check the HOLDOVER duration we compare the timestamp of the last known GNSS fix and current time and use this comparison to adjust the state of the card and MAC. Unfortunately, the last known GNSS fix timestamp was stored as UTC time came from GNSS, but later compared to monotonic clock timestamp. This comparison is incorrect. Store monotonic clock timestamp every time we recieve good GNSS time and use it later in all comparisons.