diff --git a/firmware/controllers/lua/can_filter.cpp b/firmware/controllers/lua/can_filter.cpp index 0a042bbd52..e4880ae9a8 100644 --- a/firmware/controllers/lua/can_filter.cpp +++ b/firmware/controllers/lua/can_filter.cpp @@ -27,8 +27,8 @@ void resetLuaCanRx() { } void addLuaCanRxFilter(int32_t eid, uint32_t mask, int bus, int callback) { - if (bus != ANY_BUS) { - assertHwCanBusIndex(bus); + if (bus != ANY_BUS && !isValidHwCanBusIndex(bus)) { + efiPrintf("LUA CAN bus index %d is not valid", bus); } if (filterCount >= maxFilterCount) { diff --git a/firmware/hw_layer/drivers/can/can_hw.cpp b/firmware/hw_layer/drivers/can/can_hw.cpp index 7c3cd37bcb..4b46399c9a 100644 --- a/firmware/hw_layer/drivers/can/can_hw.cpp +++ b/firmware/hw_layer/drivers/can/can_hw.cpp @@ -335,9 +335,7 @@ bool getIsCanEnabled(void) { #endif /* EFI_CAN_SUPPORT */ -void assertHwCanBusIndex(const size_t busIndex) { +bool isValidHwCanBusIndex(const size_t busIndex) { // 'size_t' is an unsigned type so we are never below zero here - if (busIndex > 1) { - firmwareError(CUSTOM_OBD_70, "Invalid HW CAN bus index %d", busIndex); - } + return (busIndex <= 1); } diff --git a/firmware/hw_layer/drivers/can/can_hw.h b/firmware/hw_layer/drivers/can/can_hw.h index 6b3b5c33e4..14f8792959 100644 --- a/firmware/hw_layer/drivers/can/can_hw.h +++ b/firmware/hw_layer/drivers/can/can_hw.h @@ -26,4 +26,4 @@ void postCanState(); #endif /* EFI_CAN_SUPPORT */ -void assertHwCanBusIndex(const size_t busIndex); +bool isValidHwCanBusIndex(const size_t busIndex);