When the P2P link partner is using one shot mode, the residence time in the peer (t3 - t2) is reflected in the correction field of the peer delay response message, and t2 and t3 are both zero.
The function port_peer_delay() calls clock_peer_delay(), passing in the zero valued 't2' to the 'rx' argument. The latter function then stores the zero value in the 't4' field of the clock's tsproc instance. As a result, tsproc_update_delay() returns an error to clock_synchronize(), and so a slave clock will never leave the "uncalibrated" state. This patch fixes the issue by removing the test for a non-zero 't4' field within the tsproc. Signed-off-by: Richard Cochran <[email protected]> --- tsproc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tsproc.c b/tsproc.c index 7e14b24..cf5f0dc 100644 --- a/tsproc.c +++ b/tsproc.c @@ -164,7 +164,7 @@ int tsproc_update_offset(struct tsproc *tsp, tmv_t *offset, double *weight) tmv_t delay, raw_delay = 0; if (tmv_is_zero(tsp->t1) || tmv_is_zero(tsp->t2) || - tmv_is_zero(tsp->t3) || tmv_is_zero(tsp->t4)) + tmv_is_zero(tsp->t3)) return -1; if (tsp->raw_mode || tsp->weighting) -- 2.1.4 ------------------------------------------------------------------------------ Transform Data into Opportunity. Accelerate data analysis in your applications with Intel Data Analytics Acceleration Library. Click to learn more. http://pubads.g.doubleclick.net/gampad/clk?id=278785471&iu=/4140 _______________________________________________ Linuxptp-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/linuxptp-devel
