[PATCH v2 4/5] can: do not increase rx_bytes statistics for RTR frames
Oliver Hartkopp
socketcan at hartkopp.net
Thu Nov 25 10:50:01 PST 2021
Hi Vincent,
On 25.11.21 18:20, Vincent Mailhol wrote:
> diff --git a/drivers/net/can/usb/ucan.c b/drivers/net/can/usb/ucan.c
> index d582c39fc8d0..717d4925fdb0 100644
> --- a/drivers/net/can/usb/ucan.c
> +++ b/drivers/net/can/usb/ucan.c
> @@ -619,12 +619,13 @@ static void ucan_rx_can_msg(struct ucan_priv *up, struct ucan_message_in *m)
> /* copy the payload of non RTR frames */
> if (!(cf->can_id & CAN_RTR_FLAG) || (cf->can_id & CAN_ERR_FLAG))
> memcpy(cf->data, m->msg.can_msg.data, cf->len);
> + /* only frames which are neither RTR nor ERR have a payload */
> + else
> + stats->rx_bytes += cf->len;
This 'else' path looks wrong ...
>
> /* don't count error frames as real packets */
> - if (!(cf->can_id & CAN_ERR_FLAG)) {
> + if (!(cf->can_id & CAN_ERR_FLAG))
> stats->rx_packets++;
> - stats->rx_bytes += cf->len;
> - }
>
> /* pass it to Linux */
> netif_rx(skb);
Regards,
Oliver
More information about the linux-arm-kernel
mailing list