Commit 3e994ff2 authored by Srinivas Neeli's avatar Srinivas Neeli Committed by Marc Kleine-Budde

can: xilinx_can: xcan_set_bittiming(): fix the data phase btr1 calculation

While calculating bitrate for the data phase, the driver is using phase
segment 1 of the arbitration phase instead of the data phase.

Fixes: c223da68 ("can: xilinx_can: Add support for CANFD FD frames")
Signed-off-by: default avatarAppana Durga Kedareswara rao <appana.durga.rao@xilinx.com>
Signed-off-by: default avatarSrinivas Neeli <srinivas.neeli@xilinx.com>
Acked-by: default avatarShubhrajyoti Datta <shubhrajyoti.datta@xilinx.com>
Signed-off-by: default avatarMichal Simek <michal.simek@xilinx.com>
Signed-off-by: default avatarMarc Kleine-Budde <mkl@pengutronix.de>
parent 9d06bcb9
...@@ -425,7 +425,7 @@ static int xcan_set_bittiming(struct net_device *ndev) ...@@ -425,7 +425,7 @@ static int xcan_set_bittiming(struct net_device *ndev)
btr0 = dbt->brp - 1; btr0 = dbt->brp - 1;
/* Setting Time Segment 1 in BTR Register */ /* Setting Time Segment 1 in BTR Register */
btr1 = dbt->prop_seg + bt->phase_seg1 - 1; btr1 = dbt->prop_seg + dbt->phase_seg1 - 1;
/* Setting Time Segment 2 in BTR Register */ /* Setting Time Segment 2 in BTR Register */
btr1 |= (dbt->phase_seg2 - 1) << priv->devtype.btr_ts2_shift; btr1 |= (dbt->phase_seg2 - 1) << priv->devtype.btr_ts2_shift;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment