From: Clemens Gruber Date: Fri, 21 Aug 2020 14:03:23 +0000 (+0200) Subject: network: can: Fix CAN initialization X-Git-Tag: v247-rc1~382 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f594b5feabee38dded4b7ae288fba6c3b6c79a45;p=thirdparty%2Fsystemd.git network: can: Fix CAN initialization When introducing CAN-FD support, the .can_fd_mode was not initalized with -1 and due to cm.mask containing the CAN_CTRLMODE_FD bit, it was not ignored when FDMode was not configured but instead disabled. The same thing happened when listen-only mode support was introduced. On chips that do not support these features, this lead to an error: can0: Failed to configure CAN link: Operation not supported Fix it by intializing all the CAN related tristate variables (.can_listen_only, .can_fd_mode and .can_non_iso) to -1. --- diff --git a/src/network/networkd-network.c b/src/network/networkd-network.c index d34155b19f4..97f5551ee53 100644 --- a/src/network/networkd-network.c +++ b/src/network/networkd-network.c @@ -483,6 +483,9 @@ int network_load_one(Manager *manager, OrderedHashmap **networks, const char *fi .keep_configuration = _KEEP_CONFIGURATION_INVALID, .can_triple_sampling = -1, .can_termination = -1, + .can_listen_only = -1, + .can_fd_mode = -1, + .can_non_iso = -1, .ip_service_type = -1, };