projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
a8b513b
)
can: kvaser_pciefd: kvaser_pciefd_rx_error_frame(): increase correct stats->{rx,tx...
author
Jimmy Assarsson
<extja@kvaser.com>
Wed, 8 Dec 2021 15:21:21 +0000
(16:21 +0100)
committer
Greg Kroah-Hartman
<gregkh@linuxfoundation.org>
Tue, 14 Dec 2021 09:57:07 +0000
(10:57 +0100)
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
patch
|
blob
|
history
diff --git
a/drivers/net/can/kvaser_pciefd.c
b/drivers/net/can/kvaser_pciefd.c
index 74d9899fc904c099d51f23c591ec71b2acb6c37e..eb74cdf26b88c55e7df9fee2cc1d212c5b2a1e6b 100644
(file)
--- a/
drivers/net/can/kvaser_pciefd.c
+++ b/
drivers/net/can/kvaser_pciefd.c
@@
-248,6
+248,9
@@
MODULE_DESCRIPTION("CAN driver for Kvaser CAN/PCIe devices");
#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 {
@@
-1285,7
+1288,10
@@
static int kvaser_pciefd_rx_error_frame(struct kvaser_pciefd_can *can,
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;