• Frank Jungclaus's avatar
    can: esd_usb: Add support for CAN_CTRLMODE_BERR_REPORTING · c42fc369
    Frank Jungclaus authored
    Announce that the driver supports CAN_CTRLMODE_BERR_REPORTING by means
    of priv->can.ctrlmode_supported. Until now berr reporting always has
    been active without taking care of the berr-reporting parameter given
    to an "ip link set ..." command.
    
    Additionally apply some changes to function esd_usb_rx_event():
    - If berr reporting is off and it is also no state change, then
    immediately return.
    - Unconditionally (even in case of the above "immediate return") store
    tx- and rx-error counters, so directly use priv->bec.txerr and
    priv->bec.rxerr instead of intermediate variables.
    - Not directly related, but to better point out the linkage between a
    failed alloc_can_err_skb() and stats->rx_dropped++:
    Move the increment of the rx_dropped statistic counter (back) to
    directly behind the err_skb allocation.
    Signed-off-by: default avatarFrank Jungclaus <frank.jungclaus@esd.eu>
    Link: https://lore.kernel.org/all/20230330184446.2802135-1-frank.jungclaus@esd.euSigned-off-by: default avatarMarc Kleine-Budde <mkl@pengutronix.de>
    c42fc369
esd_usb.c 26.9 KB