aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/drivers/net/can
diff options
context:
space:
mode:
authorWeizhao Ouyang <o451686892@gmail.com>2025-03-24 19:44:16 +0800
committerMarc Kleine-Budde <mkl@pengutronix.de>2025-04-15 12:23:10 +0200
commit6315d93541f8a5f77c5ef5c4f25233e66d189603 (patch)
treef7d27e5a7b92fdc7e51468c9909ae83cced187b1 /drivers/net/can
parentcan: fix missing decrement of j1939_proto.inuse_idx (diff)
downloadwireguard-linux-6315d93541f8a5f77c5ef5c4f25233e66d189603.tar.xz
wireguard-linux-6315d93541f8a5f77c5ef5c4f25233e66d189603.zip
can: rockchip_canfd: fix broken quirks checks
First get the devtype_data then check quirks. Fixes: bbdffb341498 ("can: rockchip_canfd: add quirk for broken CAN-FD support") Signed-off-by: Weizhao Ouyang <o451686892@gmail.com> Reviewed-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr> Link: https://patch.msgid.link/20250324114416.10160-1-o451686892@gmail.com Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Diffstat (limited to 'drivers/net/can')
-rw-r--r--drivers/net/can/rockchip/rockchip_canfd-core.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/net/can/rockchip/rockchip_canfd-core.c b/drivers/net/can/rockchip/rockchip_canfd-core.c
index 46201c126703..7107a37da36c 100644
--- a/drivers/net/can/rockchip/rockchip_canfd-core.c
+++ b/drivers/net/can/rockchip/rockchip_canfd-core.c
@@ -902,15 +902,16 @@ static int rkcanfd_probe(struct platform_device *pdev)
priv->can.data_bittiming_const = &rkcanfd_data_bittiming_const;
priv->can.ctrlmode_supported = CAN_CTRLMODE_LOOPBACK |
CAN_CTRLMODE_BERR_REPORTING;
- if (!(priv->devtype_data.quirks & RKCANFD_QUIRK_CANFD_BROKEN))
- priv->can.ctrlmode_supported |= CAN_CTRLMODE_FD;
priv->can.do_set_mode = rkcanfd_set_mode;
priv->can.do_get_berr_counter = rkcanfd_get_berr_counter;
priv->ndev = ndev;
match = device_get_match_data(&pdev->dev);
- if (match)
+ if (match) {
priv->devtype_data = *(struct rkcanfd_devtype_data *)match;
+ if (!(priv->devtype_data.quirks & RKCANFD_QUIRK_CANFD_BROKEN))
+ priv->can.ctrlmode_supported |= CAN_CTRLMODE_FD;
+ }
err = can_rx_offload_add_manual(ndev, &priv->offload,
RKCANFD_NAPI_WEIGHT);