From: Srinivas Neeli <srinivas.ne...@xilinx.com>

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

Fixes: c223da6 ("can: xilinx_can: Add support for CANFD FD frames")
Signed-off-by: Appana Durga Kedareswara rao <appana.durga....@xilinx.com>
Signed-off-by: Srinivas Neeli <srinivas.ne...@xilinx.com>
Acked-by: Shubhrajyoti Datta <shubhrajyoti.da...@xilinx.com>
Signed-off-by: Michal Simek <michal.si...@xilinx.com>
---
 drivers/net/can/xilinx_can.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/can/xilinx_can.c b/drivers/net/can/xilinx_can.c
index 4cb8c1c9..ab26691 100644
--- a/drivers/net/can/xilinx_can.c
+++ b/drivers/net/can/xilinx_can.c
@@ -425,7 +425,7 @@ static int xcan_set_bittiming(struct net_device *ndev)
                btr0 = dbt->brp - 1;
 
                /* 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 */
                btr1 |= (dbt->phase_seg2 - 1) << priv->devtype.btr_ts2_shift;
-- 
2.7.4

Reply via email to