Make it possible to set timeout values bigger than 2.147 sec and print error message in case port_set_sync_rx_tmo() fails.
Signed-off-by: Paweł Modrzejewski <plpmodr...@gmail.com> --- port.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/port.c b/port.c index 5803cd3..61d03d4 100644 --- a/port.c +++ b/port.c @@ -245,12 +245,9 @@ int set_tmo_log(int fd, unsigned int scale, int log_seconds) for (i = 1, ns = scale * 500000000ULL; i < log_seconds; i++) { ns >>= 1; } - tmo.it_value.tv_nsec = ns; - while (tmo.it_value.tv_nsec >= NS_PER_SEC) { - tmo.it_value.tv_nsec -= NS_PER_SEC; - tmo.it_value.tv_sec++; - } + tmo.it_value.tv_sec = ns / NS_PER_SEC; + tmo.it_value.tv_nsec = ns % NS_PER_SEC; } else tmo.it_value.tv_sec = scale * (1 << log_seconds); @@ -1354,7 +1351,9 @@ static void port_synchronize(struct port *p, enum servo_state state, last_state; tmv_t t1, t1c, t2, c1, c2; - port_set_sync_rx_tmo(p); + if (port_set_sync_rx_tmo(p) < 0) { + pr_err("Failed to set sync rx timeout timer: %s", strerror(errno)); + } t1 = timestamp_to_tmv(origin_ts); t2 = ingress_ts; -- 2.40.0 _______________________________________________ Linuxptp-devel mailing list Linuxptp-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxptp-devel