Signed-off-by: Wolfgang Grandegger <[email protected]>
---
drivers/net/can/dev.c | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/drivers/net/can/dev.c b/drivers/net/can/dev.c
index ac4ac92..400d871 100644
--- a/drivers/net/can/dev.c
+++ b/drivers/net/can/dev.c
@@ -476,6 +476,7 @@ EXPORT_SYMBOL_GPL(alloc_can_skb);
struct sk_buff *alloc_can_err_skb(struct net_device *dev, struct can_frame
**cf)
{
+ struct can_priv *priv = netdev_priv(dev);
struct sk_buff *skb;
skb = alloc_can_skb(dev, cf);
@@ -485,6 +486,16 @@ struct sk_buff *alloc_can_err_skb(struct net_device *dev,
struct can_frame **cf)
(*cf)->can_id = CAN_ERR_FLAG;
(*cf)->can_dlc = CAN_ERR_DLC;
+ /* For each message, add TX and RX error counters */
+ if (priv->do_get_berr_counter) {
+ struct can_berr_counter bec;
+
+ if (!priv->do_get_berr_counter(dev, &bec)) {
+ (*cf)->data[6] = bec.txerr;
+ (*cf)->data[7] = bec.rxerr;
+ }
+ }
+
return skb;
}
EXPORT_SYMBOL_GPL(alloc_can_err_skb);
--
1.7.4.1
_______________________________________________
Socketcan-users mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/socketcan-users