Skip to content

Commit

Permalink
can: kvaser_usb_hydra: do not report txerr and rxerr during bus-off
Browse files Browse the repository at this point in the history
[ Upstream commit 936e905 ]

During bus off, the error count is greater than 255 and can not fit in
a u8.

Fixes: aec5fb2 ("can: kvaser_usb: Add support for Kvaser USB hydra family")
Link: https://lore.kernel.org/all/20220719143550.3681-8-mailhol.vincent@wanadoo.fr
CC: Jimmy Assarsson <extja@kvaser.com>
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 4b71a3c commit 0b328f9
Showing 1 changed file with 8 additions and 4 deletions.
12 changes: 8 additions & 4 deletions drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c
Original file line number Diff line number Diff line change
Expand Up @@ -916,8 +916,10 @@ static void kvaser_usb_hydra_update_state(struct kvaser_usb_net_priv *priv,
new_state < CAN_STATE_BUS_OFF)
priv->can.can_stats.restarts++;

cf->data[6] = bec->txerr;
cf->data[7] = bec->rxerr;
if (new_state != CAN_STATE_BUS_OFF) {
cf->data[6] = bec->txerr;
cf->data[7] = bec->rxerr;
}

stats = &netdev->stats;
stats->rx_packets++;
Expand Down Expand Up @@ -1071,8 +1073,10 @@ kvaser_usb_hydra_error_frame(struct kvaser_usb_net_priv *priv,
shhwtstamps->hwtstamp = hwtstamp;

cf->can_id |= CAN_ERR_BUSERROR;
cf->data[6] = bec.txerr;
cf->data[7] = bec.rxerr;
if (new_state != CAN_STATE_BUS_OFF) {
cf->data[6] = bec.txerr;
cf->data[7] = bec.rxerr;
}

stats->rx_packets++;
stats->rx_bytes += cf->len;
Expand Down

0 comments on commit 0b328f9

Please sign in to comment.