jerpelea opened a new pull request, #19149:
URL: https://github.com/apache/nuttx/pull/19149
## Summary
up_timer_gettime() and the Espressif RTC rdalarm handlers built a timespec
by calling a free-running microsecond timer twice — once for tv_sec (/
USEC_PER_SEC) and once for tv_nsec (% USEC_PER_SEC). The timer advances between
the two reads, so a cal boundary returns an inconsistent, possibly backwards
time.
Fixed in 4 places by reading the timer once into a local variable and
deriving both fields from that single snapshot:
drivers/timers/arch_timer.c : up_time
arch/xtensa/.../espressif/esp_rtc.c : esp_rtc_rdalarm
(esp_hr_timer_time_us)
arch/risc-v/.../espressif/esp_rtc.c : esp_rtus)
arch/risc-v/.../esp32c3-legacy/esp32c3_rtc.c : up_rtc_rdalarm
(rt_timer_time_us)
## Impact
RELEASE
## Testing
CI
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]