On Fri, Jan 21, 2022 at 12:42:49PM +0800, Hangbin Liu wrote:

> In clock_create(), try get ts info first, if failed, try the old way.

How does this sentence relate to this...

> @@ -1001,10 +1001,16 @@ struct clock *clock_create(enum clock_type type, 
> struct config *config,
>       c->timestamping = timestamping;
>       required_modes = clock_required_modes(c);
>       STAILQ_FOREACH(iface, &config->interfaces, list) {
> -             memset(ts_label, 0, sizeof(ts_label));
> -             if (!rtnl_get_ts_device(interface_name(iface), ts_label))
> -                     interface_set_label(iface, ts_label);
> -             interface_get_tsinfo(iface);
> +             /* try find lowerlay device if we can't get iface tsinfo 
> directly */
> +             if (interface_get_tsinfo(iface) ||
> +                 (interface_tsinfo_valid(iface) &&
> +                  !interface_tsmodes_supported(iface, required_modes))) {
> +                     memset(ts_label, 0, sizeof(ts_label));
> +                     if (!rtnl_get_ts_device(interface_name(iface), 
> ts_label))
> +                             interface_set_label(iface, ts_label);
> +                     interface_get_tsinfo(iface);
> +             }

I really have no idea what this is supposed to do.

Why test for

        interface_tsinfo_valid(iface) && !interface_tsmodes_supported(iface, 
required_modes)

twice in a row !?!?!?

> +
>               if (interface_tsinfo_valid(iface) &&
>                   !interface_tsmodes_supported(iface, required_modes)) {

See that ?      ^^^^^^^^^^^^^^^^^^^


Thanks,
Richard


_______________________________________________
Linuxptp-devel mailing list
Linuxptp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxptp-devel

Reply via email to