From 5ec7acca86e9938a786d98c17cd20b4b83b2c070 Mon Sep 17 00:00:00 2001 From: Henrik Brix Andersen Date: Thu, 15 Sep 2022 18:09:02 +0200 Subject: [PATCH] drivers: can: rcar: remote transmission request filters are not supported The receive path for the Renesas R-Car CAN controller supports two RX FIFOs, which are currently configured for standard 11-bit CAN ID data frames in FIFO0, and extended 29-bit CAN ID data frames in FIFO1. As this leaves no room for matching remote transmission request (RTR) frames, have the driver return -ENOTSUP instead of silently accepting RTR filters. Signed-off-by: Henrik Brix Andersen --- drivers/can/can_rcar.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/can/can_rcar.c b/drivers/can/can_rcar.c index 4bd408caafd..65b9ec6ed7f 100644 --- a/drivers/can/can_rcar.c +++ b/drivers/can/can_rcar.c @@ -955,6 +955,10 @@ static int can_rcar_add_rx_filter(const struct device *dev, can_rx_callback_t cb struct can_rcar_data *data = dev->data; int filter_id; + if (filter->rtr == CAN_REMOTEREQUEST) { + return -ENOTSUP; + } + k_mutex_lock(&data->rx_mutex, K_FOREVER); filter_id = can_rcar_add_rx_filter_unlocked(dev, cb, cb_arg, filter); k_mutex_unlock(&data->rx_mutex);