Skip to content

Commit

Permalink
can: error: add definitions for the different CAN error thresholds
Browse files Browse the repository at this point in the history
Currently, drivers are using magic numbers to derive the CAN error
states from the error counter. Add three macro declarations to
remediate this.

For reference, the error-active, error-passive and bus-off are defined
in ISO 11898, section 12.1.4.2 "Error counting". Although ISO 11898
does not define error-warning state, this extra value is also commonly
used and is thus also added.

Link: https://lore.kernel.org/all/20220719143550.3681-13-mailhol.vincent@wanadoo.fr
Signed-off-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
  • Loading branch information
Vincent Mailhol authored and Marc Kleine-Budde committed Jul 20, 2022
1 parent 3e5c291 commit 3f9c262
Showing 1 changed file with 13 additions and 0 deletions.
13 changes: 13 additions & 0 deletions include/uapi/linux/can/error.h
Original file line number Diff line number Diff line change
Expand Up @@ -127,4 +127,17 @@
/* TX error counter / data[6] */
/* RX error counter / data[7] */

/* CAN state thresholds
*
* Error counter Error state
* -----------------------------------
* 0 - 95 Error-active
* 96 - 127 Error-warning
* 128 - 255 Error-passive
* 256 and greater Bus-off
*/
#define CAN_ERROR_WARNING_THRESHOLD 96
#define CAN_ERROR_PASSIVE_THRESHOLD 128
#define CAN_BUS_OFF_THRESHOLD 256

#endif /* _UAPI_CAN_ERROR_H */

0 comments on commit 3f9c262

Please sign in to comment.