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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Automotive Discussions]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]     [CAN Bus]

  Powered by Linux