The driver still advertises to support CAN_CTRLMODE_LOOPBACK, but the
setting of the FLEXCAN_CTRL_LPB bit has been removed. This patch re-add
the CAN_CTRLMODE_LOOPBACK handling.

Signed-off-by: Marc Kleine-Budde <[email protected]>
Cc: Bhaskar Upadhaya <[email protected]>
Cc: Scott Wood <[email protected]>
---
Hello Bhaskar & Scott,

any particular reason to disable the loopback mode? Please test and apply
to fsl's PPC tree.

cheers, Marc

 drivers/net/can/flexcan.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c
index 0c5adae..05c53eb 100644
--- a/drivers/net/can/flexcan.c
+++ b/drivers/net/can/flexcan.c
@@ -475,7 +475,9 @@ static void flexcan_set_bittiming(struct net_device *dev)
                 FLEXCAN_CTRL_PSEG1(0x7) |
                 FLEXCAN_CTRL_PSEG2(0x7) |
                 FLEXCAN_CTRL_PROPSEG(0x7) |
-                FLEXCAN_CTRL_SMP | FLEXCAN_CTRL_LOM);
+                FLEXCAN_CTRL_LPB |
+                FLEXCAN_CTRL_SMP |
+                FLEXCAN_CTRL_LOM);
 
        reg |= FLEXCAN_CTRL_PRESDIV(bt->brp - 1) |
            FLEXCAN_CTRL_PSEG1(bt->phase_seg1 - 1) |
@@ -483,6 +485,8 @@ static void flexcan_set_bittiming(struct net_device *dev)
            FLEXCAN_CTRL_RJW(bt->sjw - 1) |
            FLEXCAN_CTRL_PROPSEG(bt->prop_seg - 1);
 
+       if (priv->can.ctrlmode & CAN_CTRLMODE_LOOPBACK)
+               reg |= FLEXCAN_CTRL_LPB;
        if (priv->can.ctrlmode & CAN_CTRLMODE_LISTENONLY)
                reg |= FLEXCAN_CTRL_LOM;
        if (priv->can.ctrlmode & CAN_CTRLMODE_3_SAMPLES)
-- 
1.7.4.1

_______________________________________________
Socketcan-users mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/socketcan-users

Reply via email to