> -----Original Message----- > From: Richard Cochran [mailto:richardcoch...@gmail.com] > Sent: Saturday, April 08, 2017 12:21 PM > To: linuxptp-devel@lists.sourceforge.net > Subject: [Linuxptp-devel] [PATCH 3/3] tsproc: Allow clock synchronization > immediately after jump. > > After a servo jump, the call to tsproc_reset() clears tsp->t3. This > causes the next call to tsproc_update_offset() to fail. However the > offset calculation does not necessarily depend on t3, i.e. when > filtered_delay is available and neither raw nor weighting is used. > > This patch fixes the issue by allowing the stored filtered delay to be > used when appropriate. > > Signed-off-by: Richard Cochran <richardcoch...@gmail.com> > Reported-by: Burkhard Ilsen <burkhardil...@gmail.com>
Yes, this looks much clearer on the intent now. Thanks, Jake > --- > tsproc.c | 12 ++++++++++-- > 1 file changed, 10 insertions(+), 2 deletions(-) > > diff --git a/tsproc.c b/tsproc.c > index 550f32c..63c989d 100644 > --- a/tsproc.c > +++ b/tsproc.c > @@ -180,20 +180,28 @@ int tsproc_update_offset(struct tsproc *tsp, tmv_t > *offset, double *weight) > { > tmv_t delay = 0, raw_delay = 0; > > - if (tmv_is_zero(tsp->t1) || tmv_is_zero(tsp->t2) || > - tmv_is_zero(tsp->t3)) > + if (tmv_is_zero(tsp->t1) || tmv_is_zero(tsp->t2)) > return -1; > > switch (tsp->mode) { > case TSPROC_FILTER: > + if (!tsp->filtered_delay_valid) { > + return -1; > + } > delay = tsp->filtered_delay; > break; > case TSPROC_RAW: > case TSPROC_RAW_WEIGHT: > + if (tmv_is_zero(tsp->t3)) { > + return -1; > + } > raw_delay = get_raw_delay(tsp); > delay = raw_delay; > break; > case TSPROC_FILTER_WEIGHT: > + if (tmv_is_zero(tsp->t3) || !tsp->filtered_delay_valid) { > + return -1; > + } > raw_delay = get_raw_delay(tsp); > delay = tsp->filtered_delay; > break; > -- > 2.1.4 > > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > Linuxptp-devel mailing list > Linuxptp-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/linuxptp-devel ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Linuxptp-devel mailing list Linuxptp-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxptp-devel