Skip to content

Commit

Permalink
can: error: specify the values of data[5..7] of CAN error frames
Browse files Browse the repository at this point in the history
[ Upstream commit e70a326 ]

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: 0d66548 ("[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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
  • Loading branch information
vincent-mailhol authored and gregkh committed Aug 17, 2022
1 parent 3d70b66 commit 5793da4
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion include/uapi/linux/can/error.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 */

0 comments on commit 5793da4

Please sign in to comment.