Messages in this thread | | | Subject | Re: [PATCH v2 4/5] can: do not increase rx_bytes statistics for RTR frames | From | Oliver Hartkopp <> | Date | Thu, 25 Nov 2021 19:50:01 +0100 |
| |
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
| |