can: rockchip_canfd: fix broken quirks checks
[ Upstream commit 6315d93541f8a5f77c5ef5c4f25233e66d189603 ]
First get the devtype_data then check quirks.
Fixes: bbdffb3414 ("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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
be80768d4f
commit
0b7d94164d
@@ -907,15 +907,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);
|
||||
|
||||
Reference in New Issue
Block a user