Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

can: c_can: fix invalid error codes

Errors in CAN protocol (location) are reported in data[3] of the can
frame instead of data[2].

Cc: linux-stable <stable@vger.kernel.org>
Cc: Bhupesh Sharma <bhupesh.sharma@st.com>
Signed-off-by: Olivier Sobrie <olivier@sobrie.be>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>

authored by

Olivier Sobrie and committed by
Marc Kleine-Budde
6ea45886 5d0feaff

+2 -2
+2 -2
drivers/net/can/c_can/c_can.c
··· 960 960 break; 961 961 case LEC_ACK_ERROR: 962 962 netdev_dbg(dev, "ack error\n"); 963 - cf->data[2] |= (CAN_ERR_PROT_LOC_ACK | 963 + cf->data[3] |= (CAN_ERR_PROT_LOC_ACK | 964 964 CAN_ERR_PROT_LOC_ACK_DEL); 965 965 break; 966 966 case LEC_BIT1_ERROR: ··· 973 973 break; 974 974 case LEC_CRC_ERROR: 975 975 netdev_dbg(dev, "CRC error\n"); 976 - cf->data[2] |= (CAN_ERR_PROT_LOC_CRC_SEQ | 976 + cf->data[3] |= (CAN_ERR_PROT_LOC_CRC_SEQ | 977 977 CAN_ERR_PROT_LOC_CRC_DEL); 978 978 break; 979 979 default: