port: sequence of nrate and peer_delay calculation
The sequence of port_nrate_calculate() and tsproc_update_delay() in port_peer_delay() is mixed up. The peer delay depends on the nrate ratio so the nrate ratio shall be updated before peer delay is calculated. Signed-off-by: Burkhard Ilsen <burkhardilsen@gmail.com>master
parent
7e1ccac8f8
commit
d1bb9ecbd5
7
port.c
7
port.c
|
@ -1892,6 +1892,10 @@ static void port_peer_delay(struct port *p)
|
|||
c2 = correction_to_tmv(fup->header.correction);
|
||||
calc:
|
||||
t3c = tmv_add(t3, tmv_add(c1, c2));
|
||||
|
||||
if (p->follow_up_info)
|
||||
port_nrate_calculate(p, t3c, t4);
|
||||
|
||||
tsproc_set_clock_rate_ratio(p->tsproc, p->nrate.ratio *
|
||||
clock_rate_ratio(p->clock));
|
||||
tsproc_up_ts(p->tsproc, t1, t2);
|
||||
|
@ -1901,9 +1905,6 @@ calc:
|
|||
|
||||
p->peerMeanPathDelay = tmv_to_TimeInterval(p->peer_delay);
|
||||
|
||||
if (p->follow_up_info)
|
||||
port_nrate_calculate(p, t3c, t4);
|
||||
|
||||
if (p->state == PS_UNCALIBRATED || p->state == PS_SLAVE) {
|
||||
clock_peer_delay(p->clock, p->peer_delay, t1, t2,
|
||||
p->nrate.ratio);
|
||||
|
|
Loading…
Reference in New Issue