can: gs_usb: add ability to enable / disable berr reporting
authorJeroen Hofstee <jhofstee@victronenergy.com>
Sun, 28 Aug 2022 08:59:10 +0000 (10:59 +0200)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Thu, 20 Oct 2022 09:59:27 +0000 (11:59 +0200)
The open source firmware candleLight report bus errors
unconditionally. This adds support to enable / disable bus error
reporting with the standard netlink property.

Signed-off-by: Jeroen Hofstee <jhofstee@victronenergy.com>
Link: https://lore.kernel.org/all/20221019221016.1659260-6-mkl@pengutronix.de
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
drivers/net/can/usb/gs_usb.c

index 68e474a..e2e2346 100644 (file)
@@ -921,6 +921,9 @@ static int gs_can_open(struct net_device *netdev)
        if (ctrlmode & CAN_CTRLMODE_ONE_SHOT)
                flags |= GS_CAN_MODE_ONE_SHOT;
 
+       if (ctrlmode & CAN_CTRLMODE_BERR_REPORTING)
+               flags |= GS_CAN_MODE_BERR_REPORTING;
+
        if (ctrlmode & CAN_CTRLMODE_FD)
                flags |= GS_CAN_MODE_FD;
 
@@ -1226,6 +1229,9 @@ static struct gs_can *gs_make_candev(unsigned int channel,
                }
        }
 
+       if (feature & GS_CAN_FEATURE_BERR_REPORTING)
+               dev->can.ctrlmode_supported |= CAN_CTRLMODE_BERR_REPORTING;
+
        /* The CANtact Pro from LinkLayer Labs is based on the
         * LPC54616 µC, which is affected by the NXP LPC USB transfer
         * erratum. However, the current firmware (version 2) doesn't