pps: Load timecounter once in pps_capture()

This ensures that the timecounter and the tc_get_timecount handler belong
together.

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/604
This commit is contained in:
Sebastian Huber
2023-02-27 14:49:09 -07:00
parent bb06cdab42
commit 069275f5fa

View File

@@ -2141,6 +2141,7 @@ void
pps_capture(struct pps_state *pps)
{
struct timehands *th;
struct timecounter *tc;
KASSERT(pps != NULL, ("NULL pps pointer in pps_capture"));
th = timehands;
@@ -2149,7 +2150,8 @@ pps_capture(struct pps_state *pps)
#ifdef FFCLOCK
pps->capffth = fftimehands;
#endif
pps->capcount = th->th_counter->tc_get_timecount(th->th_counter);
tc = th->th_counter;
pps->capcount = tc->tc_get_timecount(tc);
#if defined(RTEMS_SMP)
atomic_thread_fence_acq();
if (pps->capgen != th->th_generation)