aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVincent Mailhol <mailhol.vincent@wanadoo.fr>2022-07-19 23:35:48 +0900
committerMarc Kleine-Budde <mkl@pengutronix.de>2022-07-20 09:26:50 +0200
commite70a3263a7eed768d5f947b8f2aff8d2a79c9d97 (patch)
tree2af6096a88f235253013aca90e1f129e0af368cc
parentcan: usb_8dev: do not report txerr and rxerr during bus-off (diff)
downloadlinux-dev-e70a3263a7eed768d5f947b8f2aff8d2a79c9d97.tar.xz
linux-dev-e70a3263a7eed768d5f947b8f2aff8d2a79c9d97.zip
can: error: specify the values of data[5..7] of CAN error frames
Currently, data[5..7] of struct can_frame, when used as a CAN error frame, are defined as being "controller specific". Device specific behaviours are problematic because it prevents someone from writing code which is portable between devices. As a matter of fact, data[5] is never used, data[6] is always used to report TX error counter and data[7] is always used to report RX error counter. can-utils also relies on this. This patch updates the comment in the uapi header to specify that data[5] is reserved (and thus should not be used) and that data[6..7] are used for error counters. Fixes: 0d66548a10cb ("[CAN]: Add PF_CAN core module") Link: https://lore.kernel.org/all/20220719143550.3681-11-mailhol.vincent@wanadoo.fr Signed-off-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
-rw-r--r--include/uapi/linux/can/error.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/include/uapi/linux/can/error.h b/include/uapi/linux/can/error.h
index 34633283de64..a1000cb63063 100644
--- a/include/uapi/linux/can/error.h
+++ b/include/uapi/linux/can/error.h
@@ -120,6 +120,9 @@
#define CAN_ERR_TRX_CANL_SHORT_TO_GND 0x70 /* 0111 0000 */
#define CAN_ERR_TRX_CANL_SHORT_TO_CANH 0x80 /* 1000 0000 */
-/* controller specific additional information / data[5..7] */
+/* data[5] is reserved (do not use) */
+
+/* TX error counter / data[6] */
+/* RX error counter / data[7] */
#endif /* _UAPI_CAN_ERROR_H */