On Sat, Apr 08, 2017 at 12:30:05AM +0200, Burkhard Ilsen wrote:
> diff --git a/tsproc.c b/tsproc.c
> index cf5f0dc..a9c1c48 100644
> --- a/tsproc.c
> +++ b/tsproc.c
> @@ -163,12 +163,17 @@ 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))
> + if (tmv_is_zero(tsp->t1) || tmv_is_zero(tsp->t2))
> return -1;
>
> - if (tsp->raw_mode || tsp->weighting)
> + if (!tsp->raw_mode && tmv_is_zero(tsp->filtered_delay))
> + return -1;
> +
> + if (tsp->raw_mode || tsp->weighting) {
> + if (tmv_is_zero(tsp->t3))
> + return -1;
> raw_delay = get_raw_delay(tsp);
> + }
As Miroslav pointed out, 'filtered_delay' can legitimately be zero.
Instead of testing for zero, we need a new flag.
Also, the new code tests for raw_mode, !raw_mode, and raw_mode again.
This is becoming unreadable, and I started hacking around to make it
somehow clearer. I ended up with a whole new series which I'll post
as a RFC.
Thanks,
Richard
------------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/linuxptp-devel