summaryrefslogtreecommitdiff
path: root/src/network/networkd-can.c
diff options
context:
space:
mode:
authorUlrich Ölmann <u.oelmann@pengutronix.de>2021-01-05 18:53:44 +0100
committerUlrich Ölmann <u.oelmann@pengutronix.de>2021-01-08 20:23:12 +0100
commit77b674049b19c437e9cd5dcbfe4502149de6ea42 (patch)
tree52adf95c3faa90256bfd792dd09542b2cec60787 /src/network/networkd-can.c
parent3757912db405404b96da4c704f9ee57749e40c5b (diff)
downloadsystemd-77b674049b19c437e9cd5dcbfe4502149de6ea42.tar.gz
network: can: add support for bus error reporting
Enhance systemd-networkd to be able to control a CAN device's berr-reporting flag via the new boolean directive BusErrorReporting= to be used in network files.
Diffstat (limited to 'src/network/networkd-can.c')
-rw-r--r--src/network/networkd-can.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/network/networkd-can.c b/src/network/networkd-can.c
index d3aefe1970..c0018c306f 100644
--- a/src/network/networkd-can.c
+++ b/src/network/networkd-can.c
@@ -211,6 +211,12 @@ static int link_set_can(Link *link) {
log_link_debug(link, "Setting triple-sampling to '%s'.", yes_no(link->network->can_triple_sampling));
}
+ if (link->network->can_berr_reporting >= 0) {
+ cm.mask |= CAN_CTRLMODE_BERR_REPORTING;
+ SET_FLAG(cm.flags, CAN_CTRLMODE_BERR_REPORTING, link->network->can_berr_reporting);
+ log_link_debug(link, "Setting bus error reporting to '%s'.", yes_no(link->network->can_berr_reporting));
+ }
+
if (link->network->can_listen_only >= 0) {
cm.mask |= CAN_CTRLMODE_LISTENONLY;
SET_FLAG(cm.flags, CAN_CTRLMODE_LISTENONLY, link->network->can_listen_only);