lkml.org 
[lkml]   [2021]   [Dec]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.4 13/88] can: kvaser_pciefd: kvaser_pciefd_rx_error_frame(): increase correct stats->{rx,tx}_errors counter
    Date
    From: Jimmy Assarsson <extja@kvaser.com>

    commit 36aea60fc892ce73f96d45dc7eb239c7c4c1fa69 upstream.

    Check the direction bit in the error frame packet (EPACK) to determine
    which net_device_stats {rx,tx}_errors counter to increase.

    Fixes: 26ad340e582d ("can: kvaser_pciefd: Add driver for Kvaser PCIEcan devices")
    Link: https://lore.kernel.org/all/20211208152122.250852-1-extja@kvaser.com
    Cc: stable@vger.kernel.org
    Signed-off-by: Jimmy Assarsson <extja@kvaser.com>
    Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/net/can/kvaser_pciefd.c | 8 +++++++-
    1 file changed, 7 insertions(+), 1 deletion(-)

    --- a/drivers/net/can/kvaser_pciefd.c
    +++ b/drivers/net/can/kvaser_pciefd.c
    @@ -248,6 +248,9 @@ MODULE_DESCRIPTION("CAN driver for Kvase
    #define KVASER_PCIEFD_SPACK_EWLR BIT(23)
    #define KVASER_PCIEFD_SPACK_EPLR BIT(24)

    +/* Kvaser KCAN_EPACK second word */
    +#define KVASER_PCIEFD_EPACK_DIR_TX BIT(0)
    +
    struct kvaser_pciefd;

    struct kvaser_pciefd_can {
    @@ -1283,7 +1286,10 @@ static int kvaser_pciefd_rx_error_frame(

    can->err_rep_cnt++;
    can->can.can_stats.bus_error++;
    - stats->rx_errors++;
    + if (p->header[1] & KVASER_PCIEFD_EPACK_DIR_TX)
    + stats->tx_errors++;
    + else
    + stats->rx_errors++;

    can->bec.txerr = bec.txerr;
    can->bec.rxerr = bec.rxerr;

    \
     
     \ /
      Last update: 2021-12-13 11:10    [W:7.062 / U:0.028 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site