[PATCH 1/6] pps: Load timecounter once in pps_capture()

From: Sebastian Huber <sebastian.huber_at_embedded-brains.de>
Date: Thu, 07 Jul 2022 15:25:01 UTC
This ensures that the timecounter and the tc_get_timecount handler belong
together.
---
 sys/kern/kern_tc.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/sys/kern/kern_tc.c b/sys/kern/kern_tc.c
index 37287df4d1fd..20520adc0aba 100644
--- a/sys/kern/kern_tc.c
+++ b/sys/kern/kern_tc.c
@@ -1761,6 +1761,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;
@@ -1769,7 +1770,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);
 	atomic_thread_fence_acq();
 	if (pps->capgen != th->th_generation)
 		pps->capgen = 0;
-- 
2.35.3