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

Reply via email to