Re: [PATCH v2 4/5] can: do not increase rx_bytes statistics for RTR frames

From: Vincent MAILHOL
Date: Thu Nov 25 2021 - 18:31:12 EST


Hi Oliver,

On. 26 Nov. 2021 at 03:50, Oliver Hartkopp <socketcan@xxxxxxxxxxxx> wrote:
> 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 ...

Ack. I will send a v3.
And thanks a lot for the review!

> >
> > /* 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