projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
d79ee9a
)
can: pch_can: do not report txerr and rxerr during bus-off
author
Vincent Mailhol
<mailhol.vincent@wanadoo.fr>
Tue, 19 Jul 2022 14:35:39 +0000
(23:35 +0900)
committer
Marc Kleine-Budde
<mkl@pengutronix.de>
Wed, 20 Jul 2022 07:26:48 +0000
(09:26 +0200)
During bus off, the error count is greater than 255 and can not fit in
a u8.
Fixes: 0c78ab76a05c ("pch_can: Add setting TEC/REC statistics processing")
Link:
https://lore.kernel.org/all/20220719143550.3681-2-mailhol.vincent@wanadoo.fr
Signed-off-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
drivers/net/can/pch_can.c
patch
|
blob
|
history
diff --git
a/drivers/net/can/pch_can.c
b/drivers/net/can/pch_can.c
index fde3ac516d2642d5b50198aecfeb833164afc31a..497ef77340ea056da7668fb701287d96b317c1cd 100644
(file)
--- a/
drivers/net/can/pch_can.c
+++ b/
drivers/net/can/pch_can.c
@@
-496,6
+496,9
@@
static void pch_can_error(struct net_device *ndev, u32 status)
cf->can_id |= CAN_ERR_BUSOFF;
priv->can.can_stats.bus_off++;
can_bus_off(ndev);
+ } else {
+ cf->data[6] = errc & PCH_TEC;
+ cf->data[7] = (errc & PCH_REC) >> 8;
}
errc = ioread32(&priv->regs->errc);
@@
-556,9
+559,6
@@
static void pch_can_error(struct net_device *ndev, u32 status)
break;
}
- cf->data[6] = errc & PCH_TEC;
- cf->data[7] = (errc & PCH_REC) >> 8;
-
priv->can.state = state;
netif_receive_skb(skb);
}