On 1/26/2021 2:00 AM, Miroslav Lichvar wrote:
> In port_open(), don't assume that UDS ports always have to have a zero
> number. Check the transport directly to make make the code cleaner.
>
> Signed-off-by: Miroslav Lichvar <mlich...@redhat.com>
This seems more straight forward than assuming the clock number is zero.
Reviewed-by: Jacob Keller <jacob.e.kel...@intel.com>
> ---
> port.c | 12 +++++++-----
> 1 file changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/port.c b/port.c
> index 0a93c06..6136153 100644
> --- a/port.c
> +++ b/port.c
> @@ -3108,23 +3108,25 @@ struct port *port_open(const char *phc_device,
> p->versionNumber = PTP_VERSION;
> p->slave_event_monitor = clock_slave_monitor(clock);
>
> - if (number && unicast_client_initialize(p)) {
> + if (transport != TRANS_UDS && unicast_client_initialize(p)) {
> goto err_transport;
> }
> if (unicast_client_enabled(p) &&
> config_set_section_int(cfg, p->name, "hybrid_e2e", 1)) {
> goto err_uc_client;
> }
> - if (number && unicast_service_initialize(p)) {
> + if (transport != TRANS_UDS && unicast_service_initialize(p)) {
> goto err_uc_client;
> }
> p->hybrid_e2e = config_get_int(cfg, p->name, "hybrid_e2e");
>
> - if (number && type == CLOCK_TYPE_P2P && p->delayMechanism != DM_P2P) {
> + if (transport != TRANS_UDS &&
> + type == CLOCK_TYPE_P2P && p->delayMechanism != DM_P2P) {
> pr_err("port %d: P2P TC needs P2P ports", number);
> goto err_uc_service;
> }
> - if (number && type == CLOCK_TYPE_E2E && p->delayMechanism != DM_E2E) {
> + if (transport != TRANS_UDS &&
> + type == CLOCK_TYPE_E2E && p->delayMechanism != DM_E2E) {
> pr_err("port %d: E2E TC needs E2E ports", number);
> goto err_uc_service;
> }
> @@ -3158,7 +3160,7 @@ struct port *port_open(const char *phc_device,
>
> port_clear_fda(p, N_POLLFD);
> p->fault_fd = -1;
> - if (number) {
> + if (transport != TRANS_UDS) {
> p->fault_fd = timerfd_create(CLOCK_MONOTONIC, 0);
> if (p->fault_fd < 0) {
> pr_err("timerfd_create failed: %m");
>
_______________________________________________
Linuxptp-devel mailing list
Linuxptp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxptp-devel