This fixes an issue with free running clocks. When the master clock id changes the measured master/local ratio should be reset. If it isn't, and the local clock becomes master, then the last measured ratio to the old master continues to be used in peer delay calculations. If a bad master/local ration calculation triggers this state change the port can get "stuck" in not "asCapable" mode.
Signed-off-by: Erik Hons <erik.h...@ni.com> --- clock.c | 1 + 1 file changed, 1 insertion(+) diff --git a/clock.c b/clock.c index 146576a..a48656c 100644 --- a/clock.c +++ b/clock.c @@ -1774,6 +1774,7 @@ static void handle_state_decision_event(struct clock *c) tsproc_set_delay(c->tsproc, c->initial_delay); c->ingress_ts = tmv_zero(); c->path_delay = c->initial_delay; + c->master_local_rr = 1.0; c->nrr = 1.0; fresh_best = 1; } -- 2.20.1 _______________________________________________ Linuxptp-devel mailing list Linuxptp-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxptp-devel