diff --git a/libuavcan_drivers/linux/include/uavcan_linux/socketcan.hpp b/libuavcan_drivers/linux/include/uavcan_linux/socketcan.hpp index 14383b3497..aae50675d7 100644 --- a/libuavcan_drivers/linux/include/uavcan_linux/socketcan.hpp +++ b/libuavcan_drivers/linux/include/uavcan_linux/socketcan.hpp @@ -232,7 +232,7 @@ class SocketCanIface : public uavcan::ICanIface */ loopback = (msg.msg_flags & static_cast(MSG_CONFIRM)) != 0; - if (!checkHWFilters(sockcan_frame) && !loopback) + if (!loopback && !checkHWFilters(sockcan_frame)) { return 0; } @@ -326,7 +326,7 @@ class SocketCanIface : public uavcan::ICanIface /** * Returns true if a frame accepted by HW filters */ - bool checkHWFilters(const ::can_frame frame) const + bool checkHWFilters(const ::can_frame& frame) const { if (!hw_filters_container_.empty()) {