From nobody Sun Feb 8 15:15:31 2026 Received: from mail-ej1-f52.google.com (mail-ej1-f52.google.com [209.85.218.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 72878204084 for ; Tue, 29 Oct 2024 08:46:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730191587; cv=none; b=FP8suh9TkNy34kLjO4HRos5qrb2qQsgHzo75n6Xnzn6rLTRJt+qIjodxwuUpx1dFDXBSJKW3IcKrMw5RrfjIanDVwoljIeqJTCYY7O0lKFNmNLolbe+49wPu9c97W/Iu9cwRs98ik+viNzqmkHGTpm3kS8bYAoXOamQcmKTdLxM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730191587; c=relaxed/simple; bh=7jZErEgYAUH8xk9j5Uoe+tHYPD+nw3TS+qHbiMcKb80=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=nx9kJ1m7XQ80H8SCife4cLWVlT4dvXJn4f5rBqMo/wGnnuuHoiDv6RT29EWQDxFwcCTQjq/0Wrf30DirGnLwIBVOJgFXTe/idMZM0hhrGUjya5jp1DDrrPC5oknlzVFwmAp3yA1R1nnZVhZo8VUFEi3nCvBJATBpJSBVTE+1x/o= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=amarulasolutions.com; spf=pass smtp.mailfrom=amarulasolutions.com; dkim=pass (1024-bit key) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b=eCzuHOiV; arc=none smtp.client-ip=209.85.218.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=amarulasolutions.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b="eCzuHOiV" Received: by mail-ej1-f52.google.com with SMTP id a640c23a62f3a-a93c1cc74fdso727452566b.3 for ; Tue, 29 Oct 2024 01:46:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1730191584; x=1730796384; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=zDcquMlQbBV3XN4Io8qW6xdqDAgSIub1vLoIuhz6Z10=; b=eCzuHOiVtY2ZJD4owOG5zMGPhLDlJK3w008p7yR+ZGSJYLK19d5O+ylnP5iij8uGLX 6nfWFoDmDmPT6cX8Qv/YIxbRIrM6uw1EsXPp9rIvp83RY/30wu0MSmd/J1NsqM4q3YaR au2CeflwBhByh/bIP3kdmyU9ERTonRhuUnlfM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730191584; x=1730796384; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zDcquMlQbBV3XN4Io8qW6xdqDAgSIub1vLoIuhz6Z10=; b=whho/R1H6qJbv3Nl4lALshypbenrhJweA/w5gw2HgX/TCmm0vFtUAe5rt8MWUEFz6U tvzF+nUYu14RC6crMEbjZJpSbrmeQO3vclTIEeCNbnonPdnGf2U3SEXtr8xAV3gYPdQX EjDubfG681Wt0Rsiox4IHhdtUc0sUUuw6jyCPngk9keWZeO0M6pZ1yk3cyKAR0POPOwq NFDcvxF6w8SFRcOzCfnd9UGh2amz2OfNLhjGCNEFggt/eFCCYigtNha8OJ/c30wA+Va8 5hcB4bdMteDi6z/XZQiucZu3djlJlUgtO/y5+vMWc92OIGZWjdNOhlElBAOvGuIyo1x3 Yqmw== X-Gm-Message-State: AOJu0YxQBj/mhRqgHQA94l7DbjWZLx7EFjQ7RdX0AUtpDXtfAQ+HtHOl VoxMaKM2/pCFwvauuxdPnG2mVRw7jjH0NRrXirMVQe/Vr05Hs4/pmJArO+y5Wx3xt72pGmqUb6a i X-Google-Smtp-Source: AGHT+IGQHk3b2V3qEBkaWlzGQYJYEEX9sbx1ZZHVJ7DYIM2F1SK1zV1W2kZaoYuPp8TXT2xduyix0A== X-Received: by 2002:a17:906:c10d:b0:a9a:37fe:e7d0 with SMTP id a640c23a62f3a-a9de6199186mr1046662666b.64.1730191583525; Tue, 29 Oct 2024 01:46:23 -0700 (PDT) Received: from dario-ThinkPad-T14s-Gen-2i.homenet.telecomitalia.it (host-79-40-68-117.business.telecomitalia.it. [79.40.68.117]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a9b1dec7dacsm450134166b.9.2024.10.29.01.46.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Oct 2024 01:46:23 -0700 (PDT) From: Dario Binacchi To: linux-kernel@vger.kernel.org Cc: linux-amarula@amarulasolutions.com, Dario Binacchi , Andrew Lunn , "David S. Miller" , Eric Dumazet , Gal Pressman , Jakub Kicinski , Kory Maincent , Marc Kleine-Budde , Paolo Abeni , Sabrina Dubroca , Shannon Nelson , Simon Horman , Vincent Mailhol , linux-can@vger.kernel.org, netdev@vger.kernel.org Subject: [RFC PATCH v2 1/6] can: dev: add generic function can_update_bus_error_stats() Date: Tue, 29 Oct 2024 09:44:45 +0100 Message-ID: <20241029084525.2858224-2-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241029084525.2858224-1-dario.binacchi@amarulasolutions.com> References: <20241029084525.2858224-1-dario.binacchi@amarulasolutions.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The function aims to generalize the statistics update by centralizing the related code, thus avoiding code duplication. Signed-off-by: Dario Binacchi --- (no changes since v1) drivers/net/can/dev/dev.c | 30 ++++++++++++++++++++++++++++++ include/linux/can/dev.h | 1 + 2 files changed, 31 insertions(+) diff --git a/drivers/net/can/dev/dev.c b/drivers/net/can/dev/dev.c index 6792c14fd7eb..0a3b1aad405b 100644 --- a/drivers/net/can/dev/dev.c +++ b/drivers/net/can/dev/dev.c @@ -16,6 +16,36 @@ #include #include =20 +void can_update_bus_error_stats(struct net_device *dev, struct can_frame *= cf) +{ + struct can_priv *priv =3D netdev_priv(dev); + bool rx_errors =3D false, tx_errors =3D false; + + if (!cf || !(cf->can_id & (CAN_ERR_PROT | CAN_ERR_BUSERROR))) + return; + + priv =3D netdev_priv(dev); + priv->can_stats.bus_error++; + + if ((cf->can_id & CAN_ERR_ACK) && cf->data[3] =3D=3D CAN_ERR_PROT_LOC_ACK) + tx_errors =3D true; + else if (cf->data[2] & (CAN_ERR_PROT_BIT1 | CAN_ERR_PROT_BIT0)) + tx_errors =3D true; + + if (cf->data[2] & (CAN_ERR_PROT_FORM | CAN_ERR_PROT_STUFF)) + rx_errors =3D true; + else if ((cf->data[2] & CAN_ERR_PROT_BIT) && + (cf->data[3] =3D=3D CAN_ERR_PROT_LOC_CRC_SEQ)) + rx_errors =3D true; + + if (rx_errors) + dev->stats.rx_errors++; + + if (tx_errors) + dev->stats.tx_errors++; +} +EXPORT_SYMBOL_GPL(can_update_bus_error_stats); + static void can_update_state_error_stats(struct net_device *dev, enum can_state new_state) { diff --git a/include/linux/can/dev.h b/include/linux/can/dev.h index 23492213ea35..0977656b366d 100644 --- a/include/linux/can/dev.h +++ b/include/linux/can/dev.h @@ -201,6 +201,7 @@ void can_state_get_by_berr_counter(const struct net_dev= ice *dev, enum can_state *rx_state); void can_change_state(struct net_device *dev, struct can_frame *cf, enum can_state tx_state, enum can_state rx_state); +void can_update_bus_error_stats(struct net_device *dev, struct can_frame *= cf); =20 #ifdef CONFIG_OF void of_can_transceiver(struct net_device *dev); --=20 2.43.0 From nobody Sun Feb 8 15:15:31 2026 Received: from mail-lf1-f46.google.com (mail-lf1-f46.google.com [209.85.167.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8656420400C for ; Tue, 29 Oct 2024 08:46:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730191608; cv=none; b=BEiCkSyQ23YT8EjapU6KVJn66UTfKumtsp/QDDUKxXkvdqaktGbabMRoe1T83A/v2t79NJO1T4SpEe2UQkh8lYrEzB1YyI9j6SsP4V91cpBVvBS1OYZwg2bvVhmUW7NK2yOe6y+S9pX+X2jpOS1nTy6zR+Vd6J5xXBPbNuizraQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730191608; c=relaxed/simple; bh=lvBH4nDZzUSZ6y5ghSyZfw8hPI3PkCQivKPs3UeNvug=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=pZMBhrDAX8wDuPflnuM6cxzuu06WRJ6xRCanNf7PJWpcaTlleMt1QFB/0oswqywwi7uXci+id82D+vkyzalBJoyhYAGTOKO4dFRet2UZgSJnoAuehLxD3VWODFEQFLWUVchtohgxEoGvyln5WbQYOsnLAmScIqayVKAyky/ly6o= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=amarulasolutions.com; spf=pass smtp.mailfrom=amarulasolutions.com; dkim=pass (1024-bit key) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b=ieCSYjL8; arc=none smtp.client-ip=209.85.167.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=amarulasolutions.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b="ieCSYjL8" Received: by mail-lf1-f46.google.com with SMTP id 2adb3069b0e04-539fb49c64aso8597475e87.0 for ; Tue, 29 Oct 2024 01:46:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1730191604; x=1730796404; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=rwyMMsHa5HEUfO6bt7mbb/5lMim+t5T1aF2qtApwxpM=; b=ieCSYjL8IptPLaZ6hAKobBQVUhO21p62duTr9ghMpGYtc5ZkBmVVueIBViErvlFGgE NavjIn9YhmofkH8a3crQQ9DMdJW+ilmF1VIljCWPMUuObs1kiO8XCxljiguWXYiVS65J xKsk/YOdvh3ojWawT5hFbSp01kogXP/RH8Xc0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730191604; x=1730796404; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rwyMMsHa5HEUfO6bt7mbb/5lMim+t5T1aF2qtApwxpM=; b=IzwOBISX3FEK9NU4isItkDDi9+xJFbAfJRTUcvaOv7zfWOozKirupgfGbIiBnXAXe0 wl9umbgz3EJnI8KpRxUglAbrg7EvcuWKogRn19ZINy4xLVpBc3LtuV0Iidt+au5CUei+ n2MzdjOncekGhP1a0EQTHDrzR9V2iBbVzUNreNa43H3SucHRkFSTGrrKIIj3PbnyArVZ DL7WWb9tq5PDZTZJGI9KuAVT7LOnuk9tmKs5SaRGXDfmZpC479um8WePGGLRMfBCAm6S RuH5hAx5WwLS4J9TpthWnNHJKv9ulBSHypJKqIV+QhbI/5ywtr9BlVTxnNc3M78nD2oe u4Kw== X-Gm-Message-State: AOJu0YzHuwVBUWjCb8iJ+Y3clHFWxd58Kl6mUpLW9BaFVdZIBn5/l2iC xYbp37k8IvJWt6s5NrHrktSHcZOY/ZkkHoXBTaZVrxg5In70GP0/54QwQACgtZf6oRlLXFQgqt0 w X-Google-Smtp-Source: AGHT+IEISmXm1iH8AiJejbMa004PxvUCwKNYOyyhBpeNGrG9KbTdzRJ6Jk4J3pez3yKENXfTWV0g2Q== X-Received: by 2002:a05:6512:1252:b0:536:a4f1:d214 with SMTP id 2adb3069b0e04-53b348cc55cmr9003984e87.19.1730191604452; Tue, 29 Oct 2024 01:46:44 -0700 (PDT) Received: from dario-ThinkPad-T14s-Gen-2i.homenet.telecomitalia.it (host-79-40-68-117.business.telecomitalia.it. [79.40.68.117]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a9b1dec7dacsm450134166b.9.2024.10.29.01.46.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Oct 2024 01:46:44 -0700 (PDT) From: Dario Binacchi To: linux-kernel@vger.kernel.org Cc: linux-amarula@amarulasolutions.com, Dario Binacchi , Andrew Lunn , "David S. Miller" , Eric Dumazet , Haibo Chen , Jakub Kicinski , Marc Kleine-Budde , Paolo Abeni , Rob Herring , =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= , Vincent Mailhol , linux-can@vger.kernel.org, netdev@vger.kernel.org Subject: [RFC PATCH v2 2/6] can: flexcan: use can_update_bus_error_stats() Date: Tue, 29 Oct 2024 09:44:46 +0100 Message-ID: <20241029084525.2858224-3-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241029084525.2858224-1-dario.binacchi@amarulasolutions.com> References: <20241029084525.2858224-1-dario.binacchi@amarulasolutions.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The patch delegates the statistics update in case of bus error to the can_update_bus_error_stats(). Signed-off-by: Dario Binacchi --- (no changes since v1) drivers/net/can/flexcan/flexcan-core.c | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/drivers/net/can/flexcan/flexcan-core.c b/drivers/net/can/flexc= an/flexcan-core.c index ac1a860986df..790b8e162d73 100644 --- a/drivers/net/can/flexcan/flexcan-core.c +++ b/drivers/net/can/flexcan/flexcan-core.c @@ -819,7 +819,6 @@ static void flexcan_irq_bus_err(struct net_device *dev,= u32 reg_esr) struct flexcan_regs __iomem *regs =3D priv->regs; struct sk_buff *skb; struct can_frame *cf; - bool rx_errors =3D false, tx_errors =3D false; u32 timestamp; int err; =20 @@ -834,41 +833,31 @@ static void flexcan_irq_bus_err(struct net_device *de= v, u32 reg_esr) if (reg_esr & FLEXCAN_ESR_BIT1_ERR) { netdev_dbg(dev, "BIT1_ERR irq\n"); cf->data[2] |=3D CAN_ERR_PROT_BIT1; - tx_errors =3D true; } if (reg_esr & FLEXCAN_ESR_BIT0_ERR) { netdev_dbg(dev, "BIT0_ERR irq\n"); cf->data[2] |=3D CAN_ERR_PROT_BIT0; - tx_errors =3D true; } if (reg_esr & FLEXCAN_ESR_ACK_ERR) { netdev_dbg(dev, "ACK_ERR irq\n"); cf->can_id |=3D CAN_ERR_ACK; cf->data[3] =3D CAN_ERR_PROT_LOC_ACK; - tx_errors =3D true; } if (reg_esr & FLEXCAN_ESR_CRC_ERR) { netdev_dbg(dev, "CRC_ERR irq\n"); cf->data[2] |=3D CAN_ERR_PROT_BIT; cf->data[3] =3D CAN_ERR_PROT_LOC_CRC_SEQ; - rx_errors =3D true; } if (reg_esr & FLEXCAN_ESR_FRM_ERR) { netdev_dbg(dev, "FRM_ERR irq\n"); cf->data[2] |=3D CAN_ERR_PROT_FORM; - rx_errors =3D true; } if (reg_esr & FLEXCAN_ESR_STF_ERR) { netdev_dbg(dev, "STF_ERR irq\n"); cf->data[2] |=3D CAN_ERR_PROT_STUFF; - rx_errors =3D true; } =20 - priv->can.can_stats.bus_error++; - if (rx_errors) - dev->stats.rx_errors++; - if (tx_errors) - dev->stats.tx_errors++; + can_update_bus_error_stats(dev, cf); =20 err =3D can_rx_offload_queue_timestamp(&priv->offload, skb, timestamp); if (err) --=20 2.43.0 From nobody Sun Feb 8 15:15:31 2026 Received: from mail-ej1-f49.google.com (mail-ej1-f49.google.com [209.85.218.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 083B3204011 for ; Tue, 29 Oct 2024 08:46:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730191621; cv=none; b=nBMleia9eXnvGBwmS1qBguCeG6FcgF6iTB8SefH8VtnoHXI+H27UhNH9Rw7/SQgdPlvJDAOYCWizEYza8e1lEi6yIJE4LtsHYrnDjcnCLRTN65FKLV473Gr/jj3AU2yW9Z1HpM11KMWop+tjUAwIMoz72GJ/dFxBln8F9iZ7TRk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730191621; c=relaxed/simple; bh=WGBkDV8arAy6CfiLdJelnTLqBaVzdhNXtSwP5pyuq2U=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=N6Tf9N7kUwaEkEyX9G+orEOGITgOTqVmq+2OSJKaLHj3hbZ0id3enzCB6t6tSwzX5SxQCM4NPZ1+qN30SFdQUK7BLBbsRSKcKRaukFozaUMpYUDiG/z2mzarD7Hj/U/ht4OaAtgnWgHDmfQG2PRGOfOiIv4MRGk+VD0rQpQgO20= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=amarulasolutions.com; spf=pass smtp.mailfrom=amarulasolutions.com; dkim=pass (1024-bit key) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b=gAc8yFXj; arc=none smtp.client-ip=209.85.218.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=amarulasolutions.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b="gAc8yFXj" Received: by mail-ej1-f49.google.com with SMTP id a640c23a62f3a-a99f629a7aaso823160066b.1 for ; Tue, 29 Oct 2024 01:46:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1730191617; x=1730796417; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=qZlCPcUtK7nW0/9iHLjxsFqERMJTARHO2kYU3JNPHEY=; b=gAc8yFXjx5ZD/I4+ytWcJqa/FtHwonmJGy9lU1nGirduKpO8E+8YMrST/o7jgADYq3 DMcm48IW4B+cV/zNM3AF6kk3kL8yMKvaND/KGtjg29KbJFIV1CIz1USNMi1ZHNToczTn rjGPRGk8KXA1NLiOCdzVfJgeGshXh55uk68XY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730191617; x=1730796417; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=qZlCPcUtK7nW0/9iHLjxsFqERMJTARHO2kYU3JNPHEY=; b=mCUoon/AoHMlD2u7sGRKaJYh244UryFDTiUdp4QGuQ+PiwTC0J6soKIkm4uPjH8+hK ueETy2gQAeuqld+W8rtPFsInwcUQAsKQbardfAAJTAD/EAkJd4K3uPW7TLdeJXb/DrHH c9R8OiBPalolsUpIRnNGuoTgdk79CpNk8gSsE1Wk+JPHl8q6NCkrCv4YxY2qUoGEgsne Owkf5mO69qQshOTwfD/8z6OJtMoPSpqCV2y/EwhMeKD2MtC0hp9tAPIH5HrXbbOoOvta z8sbcLa8pznqLEcqSruEIZbnXgXzH0sw8cCfcRVlUeLhM0ddx3gqZLB4lTFQ5bKIP5cP Wcwg== X-Gm-Message-State: AOJu0YxsLuifN0lpr8ViPGgyGP1kkglVZOd17MCVbfrZTb8CDE/wfru9 B4gQQYxvCWUM3XFvOt4VsY/rIwNk8qhvGesMB7+TmyTCXQYAVZIL6BH1qoqXi3f14UDUYMKn0aZ D X-Google-Smtp-Source: AGHT+IFQKxzB5f0b2booGkn8USFXJ1j1E1yGV/InkFemJevruCFVY1P+YAKXx0raKflfOBnPOBgf2Q== X-Received: by 2002:a17:907:9814:b0:a9a:ca:4436 with SMTP id a640c23a62f3a-a9e2ad15f3fmr140074766b.13.1730191617226; Tue, 29 Oct 2024 01:46:57 -0700 (PDT) Received: from dario-ThinkPad-T14s-Gen-2i.homenet.telecomitalia.it (host-79-40-68-117.business.telecomitalia.it. [79.40.68.117]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a9b1dec7dacsm450134166b.9.2024.10.29.01.46.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Oct 2024 01:46:56 -0700 (PDT) From: Dario Binacchi To: linux-kernel@vger.kernel.org Cc: linux-amarula@amarulasolutions.com, Dario Binacchi , Marc Kleine-Budde , Vincent Mailhol , linux-can@vger.kernel.org Subject: [RFC PATCH v2 3/6] can: dev: add helpers to setup an error frame Date: Tue, 29 Oct 2024 09:44:47 +0100 Message-ID: <20241029084525.2858224-4-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241029084525.2858224-1-dario.binacchi@amarulasolutions.com> References: <20241029084525.2858224-1-dario.binacchi@amarulasolutions.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" These helpers can prevent errors and code duplication when setting up a CAN error frame. Signed-off-by: Dario Binacchi --- Changes in v2: - Replace macros with static inline functions - Update the commit message include/linux/can/dev.h | 46 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/include/linux/can/dev.h b/include/linux/can/dev.h index 0977656b366d..1b09d30dae32 100644 --- a/include/linux/can/dev.h +++ b/include/linux/can/dev.h @@ -168,6 +168,52 @@ static inline bool can_dev_dropped_skb(struct net_devi= ce *dev, struct sk_buff *s return can_dropped_invalid_skb(dev, skb); } =20 +static inline void can_frame_error_init(struct can_frame *cf) +{ + if (cf) + cf->can_id |=3D CAN_ERR_PROT | CAN_ERR_BUSERROR; +} + +static inline void can_frame_set_err_bit0(struct can_frame *cf) +{ + if (cf) + cf->data[2] |=3D CAN_ERR_PROT_BIT0; +} + +static inline void can_frame_set_err_bit1(struct can_frame *cf) +{ + if (cf) + cf->data[2] |=3D CAN_ERR_PROT_BIT1; +} + +static inline void can_frame_set_err_ack(struct can_frame *cf) +{ + if (cf) { + cf->can_id |=3D CAN_ERR_ACK; + cf->data[3] =3D CAN_ERR_PROT_LOC_ACK; + } +} + +static inline void can_frame_set_err_crc(struct can_frame *cf) +{ + if (cf) { + cf->data[2] |=3D CAN_ERR_PROT_BIT; + cf->data[3] =3D CAN_ERR_PROT_LOC_CRC_SEQ; + } +} + +static inline void can_frame_set_err_form(struct can_frame *cf) +{ + if (cf) + cf->data[2] |=3D CAN_ERR_PROT_FORM; +} + +static inline void can_frame_set_err_stuff(struct can_frame *cf) +{ + if (cf) + cf->data[2] |=3D CAN_ERR_PROT_STUFF; +} + void can_setup(struct net_device *dev); =20 struct net_device *alloc_candev_mqs(int sizeof_priv, unsigned int echo_skb= _max, --=20 2.43.0 From nobody Sun Feb 8 15:15:31 2026 Received: from mail-ej1-f47.google.com (mail-ej1-f47.google.com [209.85.218.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3056A203712 for ; Tue, 29 Oct 2024 08:47:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730191652; cv=none; b=u7hptwi/fjtFr7XyMfo9wSjDVYgTtNC9Mkoi2l1F9jzag3e5o3xcLqxZQUBFRk6dSvHhxkIQUIc0uTkS4idFUJQh/KKwLhjEjD14R35Wramj6bNW9mXyres8788wUEIPxwvDeTpmSl0FfaQfLrdZh9cZgANj4brQbwWzXKxmCDU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730191652; c=relaxed/simple; bh=h7q/acvtv/EbvBgEu40V7O6TnS/rdJMYxd+3YF+xHDU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=K9nDQSv8E99m0ghU2XtI2O3LGoUszcqtpBIjSGJmeIatrUcrUFvf+wcHgYm5ONLfdBz2BsQp1XLxyDTW2g04gFv6jjJnI9kU9PaJD3/WU9GbhLJjXSm2TTP29XY838eyrjW2kJtP5sWbVFe0X02Fkjqp02BTu6YZ6TekGYAZbg8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=amarulasolutions.com; spf=pass smtp.mailfrom=amarulasolutions.com; dkim=pass (1024-bit key) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b=VHk3xHnx; arc=none smtp.client-ip=209.85.218.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=amarulasolutions.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b="VHk3xHnx" Received: by mail-ej1-f47.google.com with SMTP id a640c23a62f3a-a9a2cdc6f0cso695903766b.2 for ; Tue, 29 Oct 2024 01:47:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1730191648; x=1730796448; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=CK//WN8U4xdL+REXrdvFlQyVdfbEwHB2hFl4Gz57z6E=; b=VHk3xHnxYx/5IhZpFDa3Ql8KImeAsQL5mb8xKJdrdQqQfposhhLdEDca89cRgrxY0N tdz9bxDw5szNNzxZgCEXmgGwXr32MxIiU8+5Vd+ajnKzEEjCbNFGXHjzHGuI5mUPiepW KtQFfQE9CcY7g25M4uExGAG7IgaBeSoRk1sXY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730191648; x=1730796448; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=CK//WN8U4xdL+REXrdvFlQyVdfbEwHB2hFl4Gz57z6E=; b=LtHI8RXoxLkCPhW8NZnWMX0sD77mLgxmWNugl0GEGbPynVc5mKIEzGO/p/2rDiDRkZ 2ahgjaA7DcxobJtl8nVjcVjq/Y3oI+xLqsfom4mBolhtsBfnX1Y+Bmi5j/Y9Y1Zqmi2A dEhgI8LL5Nw35NjdEwE8XSM5oWWIQa3Wl7ulcmitcYB8uSC7gIRqrpfaqip5ph0g2Y54 qpAnLxyZzb8C7Kn/5ac8bSbfz3mwVckznpk7yhW0fIdBLmo0T6NMRSBM01fma+i0yzHx 7eF8vHiG7uk+YeeXmK78RroOYr+3A6058zyLawFAogHpcbq7qxY/2AMlqNtz3hSxuNH+ kNGA== X-Gm-Message-State: AOJu0Yxm8CmS3HgUb43gVXePu3TRZThd/OCNY1tNv5YmeJueG1OBppPe bF3bIELrlW4kaXBDn73+TCO8EEczYBRyeX2iJqUwYl1k56g4v2wIHStjEVPknkMZ0rIh80OvzmF W X-Google-Smtp-Source: AGHT+IEEvcd9jXfbuVGlCd40DSEmDtz/pFWMMuaMwVq9ls2ukas2NGlSAug7KVnalEtyIqCy75g4iw== X-Received: by 2002:a17:907:2d93:b0:a9a:3f9d:62f8 with SMTP id a640c23a62f3a-a9de5ce1831mr1160141666b.19.1730191648241; Tue, 29 Oct 2024 01:47:28 -0700 (PDT) Received: from dario-ThinkPad-T14s-Gen-2i.homenet.telecomitalia.it (host-79-40-68-117.business.telecomitalia.it. [79.40.68.117]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a9b1dec7dacsm450134166b.9.2024.10.29.01.46.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Oct 2024 01:47:27 -0700 (PDT) From: Dario Binacchi To: linux-kernel@vger.kernel.org Cc: linux-amarula@amarulasolutions.com, Dario Binacchi , Andrew Lunn , "David S. Miller" , Eric Dumazet , Frank Li , Haibo Chen , Han Xu , Jakub Kicinski , Marc Kleine-Budde , Paolo Abeni , Rob Herring , =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= , Vincent Mailhol , linux-can@vger.kernel.org, netdev@vger.kernel.org Subject: [RFC PATCH v2 4/6] can: flexcan: use helpers to setup the error frame Date: Tue, 29 Oct 2024 09:44:48 +0100 Message-ID: <20241029084525.2858224-5-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241029084525.2858224-1-dario.binacchi@amarulasolutions.com> References: <20241029084525.2858224-1-dario.binacchi@amarulasolutions.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The patch replaces the code that directly accesses cf->data[] for setting up the CAN error frame with the appropriate helpers. Signed-off-by: Dario Binacchi --- Changes in v2: - Replace the macros with static inline funcions calls. - Update the commit message drivers/net/can/flexcan/flexcan-core.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/drivers/net/can/flexcan/flexcan-core.c b/drivers/net/can/flexc= an/flexcan-core.c index 790b8e162d73..85a124a31752 100644 --- a/drivers/net/can/flexcan/flexcan-core.c +++ b/drivers/net/can/flexcan/flexcan-core.c @@ -828,33 +828,31 @@ static void flexcan_irq_bus_err(struct net_device *de= v, u32 reg_esr) if (unlikely(!skb)) return; =20 - cf->can_id |=3D CAN_ERR_PROT | CAN_ERR_BUSERROR; + can_frame_error_init(cf); =20 if (reg_esr & FLEXCAN_ESR_BIT1_ERR) { netdev_dbg(dev, "BIT1_ERR irq\n"); - cf->data[2] |=3D CAN_ERR_PROT_BIT1; + can_frame_set_err_bit1(cf); } if (reg_esr & FLEXCAN_ESR_BIT0_ERR) { netdev_dbg(dev, "BIT0_ERR irq\n"); - cf->data[2] |=3D CAN_ERR_PROT_BIT0; + can_frame_set_err_bit0(cf); } if (reg_esr & FLEXCAN_ESR_ACK_ERR) { netdev_dbg(dev, "ACK_ERR irq\n"); - cf->can_id |=3D CAN_ERR_ACK; - cf->data[3] =3D CAN_ERR_PROT_LOC_ACK; + can_frame_set_err_ack(cf); } if (reg_esr & FLEXCAN_ESR_CRC_ERR) { netdev_dbg(dev, "CRC_ERR irq\n"); - cf->data[2] |=3D CAN_ERR_PROT_BIT; - cf->data[3] =3D CAN_ERR_PROT_LOC_CRC_SEQ; + can_frame_set_err_crc(cf); } if (reg_esr & FLEXCAN_ESR_FRM_ERR) { netdev_dbg(dev, "FRM_ERR irq\n"); - cf->data[2] |=3D CAN_ERR_PROT_FORM; + can_frame_set_err_form(cf); } if (reg_esr & FLEXCAN_ESR_STF_ERR) { netdev_dbg(dev, "STF_ERR irq\n"); - cf->data[2] |=3D CAN_ERR_PROT_STUFF; + can_frame_set_err_stuff(cf); } =20 can_update_bus_error_stats(dev, cf); --=20 2.43.0 From nobody Sun Feb 8 15:15:31 2026 Received: from mail-ed1-f46.google.com (mail-ed1-f46.google.com [209.85.208.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 595C1204035 for ; Tue, 29 Oct 2024 08:47:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730191665; cv=none; b=C90JfUYJORzo8sMEEOdU18V9iizf4qTR7KKZSRWwSpLHl6pdcpxaFUa+nL5o6Z8tSPPM6mTbHzbpbW8cQJG/Jgf7DNb2c8jf9a5AcyLuQ01bu90liDHnSqsXbSEbO+okycGLqiJTXhIxAKPW89LPdIpiZC+hxrveX4E214efWpA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730191665; c=relaxed/simple; bh=0/yE3dp//A3vvjwYzpCckP/0syues54g/5VxcsiMRZA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=FzT5ztU72273Qtqx3CAGvzqMAUv5rbBcUsc3SNVPj13ci+Pe/Phze2+t4k6VVVSd+5pr+Mm+xFF+5sJiwiJWAg9hvC7iYtTl9ACJGkHMqdRf0huVCGLRxGsUaanRhNupolUCd/GDOpRtSZw70iJflCsJqeIHu0ulNaRFqeyMMPA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=amarulasolutions.com; spf=pass smtp.mailfrom=amarulasolutions.com; dkim=pass (1024-bit key) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b=UDgIeVLR; arc=none smtp.client-ip=209.85.208.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=amarulasolutions.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b="UDgIeVLR" Received: by mail-ed1-f46.google.com with SMTP id 4fb4d7f45d1cf-5c9634c9160so5949446a12.2 for ; Tue, 29 Oct 2024 01:47:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1730191661; x=1730796461; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=+TS+cafYkOpOnfMipNar/zvOqT/SxcL5voxlp49ONDY=; b=UDgIeVLRbOC+lB3ia62UHNUyrq/bbpmZNHBmzjjeKtbauf7MGHZP8D6Woooedw4M1F 7R2r/neF02KDZeRCOkfZOUw307yc9R4H05563Pjhv0LgwIUQ5/l/7TPLu+v5veBYKc2D xQkHjEFooMeVXoDfF96nm/uzKIWi/GeprXQuM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730191661; x=1730796461; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+TS+cafYkOpOnfMipNar/zvOqT/SxcL5voxlp49ONDY=; b=PvhzuCYSPoqzllf7spK18Ln5yGbvelmqO0EYQdRKni/qp7cFe1wfb2tTZLzqMp62S3 epqC0xMua6t9mmCzfq5GFY55Z1vG4gemuHl1WxCVgO6LjEgiPvHOWtVHpCZnR6SxPhTI x2S+Vt3nhbMA6xBR4s5tIn3r3elhxoOKthFAJQUgImt8+TZPWB818vidBZ+KX/hFxsia g2Hoo1IKqcwaYO49OFqhj+fXStkkW71RtD/L7+IXKfhoAdE6nSZi5Zv6iLG0oq3sYI1E e+EOFFOqSzOgZWuPszzv0J+VZexc1fmyBt/mPrY1wr/E0hVIX1hESJEObhv2wfpzjvUB jMbg== X-Gm-Message-State: AOJu0Yxjeia3qyk7vsWegIQkhe15UgwuR7+WfGPs3F/OYTUU4ixywxkd PaVHdvAs4zLp1CQJ+Nsy1/IAUIi0EwKnOhxy0+GYra9PRDRjuQjrICQGfvPquSLVePKw2kS9aij l X-Google-Smtp-Source: AGHT+IFlFy6cV23OcJR59XR+k/d+6Xp/zuWcoV0vl/JZJVcGxqcHVKHCvKp8HW/M72Amgo2/fFieFw== X-Received: by 2002:a17:907:9604:b0:a99:f4be:7a6a with SMTP id a640c23a62f3a-a9de61ce626mr916455666b.47.1730191661380; Tue, 29 Oct 2024 01:47:41 -0700 (PDT) Received: from dario-ThinkPad-T14s-Gen-2i.homenet.telecomitalia.it (host-79-40-68-117.business.telecomitalia.it. [79.40.68.117]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a9b1dec7dacsm450134166b.9.2024.10.29.01.47.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Oct 2024 01:47:41 -0700 (PDT) From: Dario Binacchi To: linux-kernel@vger.kernel.org Cc: linux-amarula@amarulasolutions.com, Dario Binacchi , Marc Kleine-Budde , Vincent Mailhol , linux-can@vger.kernel.org Subject: [RFC PATCH v2 5/6] can: netlink: extend stats to the error types (ack, CRC, form, ...) Date: Tue, 29 Oct 2024 09:44:49 +0100 Message-ID: <20241029084525.2858224-6-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241029084525.2858224-1-dario.binacchi@amarulasolutions.com> References: <20241029084525.2858224-1-dario.binacchi@amarulasolutions.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The CAN bus protocol specifies 5 CAN error types: - Bit Error [Transmitter] - Bit Stuffing Error [Receiver] - Form Error [Receiver] - ACK Error (Acknowledgment) [Transmitter] - CRC Error (Cyclic Redundancy Check) [Receiver] The patch also adds the corresponding counters to the statistics. Since each device/driver can determine which of these errors has occurred, why not export this information along with the more general counters? Signed-off-by: Dario Binacchi --- (no changes since v1) include/uapi/linux/can/netlink.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/include/uapi/linux/can/netlink.h b/include/uapi/linux/can/netl= ink.h index 02ec32d69474..8b33549e7e19 100644 --- a/include/uapi/linux/can/netlink.h +++ b/include/uapi/linux/can/netlink.h @@ -114,6 +114,12 @@ struct can_device_stats { __u32 bus_off; /* Changes to bus off state */ __u32 arbitration_lost; /* Arbitration lost errors */ __u32 restarts; /* CAN controller re-starts */ + __u32 bit_error; /* Bit error */ + __u32 stuff_error; /* Bit stuffing error */ + __u32 form_error; /* form error */ + __u32 ack_error; /* ack error */ + __u32 crc_error; /* CRC error */ + __u32 pad; }; =20 /* --=20 2.43.0 From nobody Sun Feb 8 15:15:31 2026 Received: from mail-ej1-f43.google.com (mail-ej1-f43.google.com [209.85.218.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 163A220409D for ; Tue, 29 Oct 2024 08:47:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730191680; cv=none; b=c8W0wcPjS2tilnv5pLpV4frtNykl+9dNOlD+zfUH4ZCiT3KiHBCYGb8hvHVZr5SBRHXg7ToCoXAtFFXvTpMRgVTjPPfiRa+yQ3v+apzQEAg7AUGYjHGnXiDHrxHKdCl8zKY+qzgasA5qb4dXRL+lziA8VwPZ6V6QOM9dX9uJk7M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730191680; c=relaxed/simple; bh=TUaK6OnUzQOxCJI2eLhsrV/ZIgtnSP1u/wmOARhnplw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=LJ9P2Km0zJ0rM0PFQ8NxcDqzyc4hJan8ClUrj4UPLoTaibYgkeo8K94EC3vfXhJpatnscMIdWTA0z3jqYSGA8Z9kizF7VxYaDzwyjgTZkobJBRJxzWjMfmY/xmY4Jqtqg4Y6sVOFcmZSBqZcL4nYzWpZUMSOFKQmyBJT2blowIA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=amarulasolutions.com; spf=pass smtp.mailfrom=amarulasolutions.com; dkim=pass (1024-bit key) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b=BFKKDUCx; arc=none smtp.client-ip=209.85.218.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=amarulasolutions.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b="BFKKDUCx" Received: by mail-ej1-f43.google.com with SMTP id a640c23a62f3a-a9932aa108cso776514966b.2 for ; Tue, 29 Oct 2024 01:47:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1730191676; x=1730796476; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=0pG46qvNdim+YSCFTrvSFA2E8sjhumHv8Kb1b4NjRqM=; b=BFKKDUCx0HmzOBg1bNXaD0e5nITmd0dvoLygSKsA6Vp4qDcy1dMO+XXTEwTCq2GuUE 9nT0sJMaWV/LGWV7qGo1JBvyO2sI3l7ZLodaeKv1JwejeHTjT3y3NA93WNND6lQtATTv rtFygfil/brAzP3tGYRd9J+j50IH2I+AAJrj4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730191676; x=1730796476; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0pG46qvNdim+YSCFTrvSFA2E8sjhumHv8Kb1b4NjRqM=; b=lm+q+b/v2VlCsbrb6zNjFvH0OzD7Wg3m1V6+p7zj8yCh7DcsNOGYN7S0/NaiICW2Kl pxNTc+SvqsBmwWIXAPUV6vOMz7kaYLIEtsxHjRLyE2qkWU/kIx2Hv8VJioXOyDOOKblg yQEPq82D0igrJ75OdjUT+gapOWB6deeDDeIzrdM9AX878hlkr/CChFu1L5fveEMGDs4A yU93RuWifpMIFbI18OgEAtpVpgPBbXX0oMAPsnR+PJx5e84E/0Fwis7RntnsdWFPUaEX weD/rsu4E2X+1xB55N5gOuDT+boI4L+PBaP4odCENxRMxjOhRXkPk8lgLfpQEvVdH30b hexQ== X-Gm-Message-State: AOJu0YxVVzB5/SgaahMuRuHs7c4siRJCc+VqcAp8rvvIkYTm+PbGBIfW J9fBbbugMUFfNN7vSoHiXfaIejwhR4P96pVzBjclBgJI+IsJ75VgbvM17RvyHDaytH4638Kj9WV b X-Google-Smtp-Source: AGHT+IEH0Vvw06vXsgJYrKvglm7Aca70sORX61aWDxNEVaL9ewyglYUQc3JeszXfilruEW1c5pp/+A== X-Received: by 2002:a17:907:7d87:b0:a99:fba0:e135 with SMTP id a640c23a62f3a-a9de619ee32mr1052955866b.46.1730191676268; Tue, 29 Oct 2024 01:47:56 -0700 (PDT) Received: from dario-ThinkPad-T14s-Gen-2i.homenet.telecomitalia.it (host-79-40-68-117.business.telecomitalia.it. [79.40.68.117]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a9b1dec7dacsm450134166b.9.2024.10.29.01.47.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Oct 2024 01:47:56 -0700 (PDT) From: Dario Binacchi To: linux-kernel@vger.kernel.org Cc: linux-amarula@amarulasolutions.com, Dario Binacchi , Alexandra Winter , Andrew Lunn , "David S. Miller" , Eric Dumazet , Gal Pressman , Jakub Kicinski , Kory Maincent , Marc Kleine-Budde , Paolo Abeni , Shannon Nelson , Vincent Mailhol , linux-can@vger.kernel.org, netdev@vger.kernel.org Subject: [RFC PATCH v2 6/6] can: dev: update the error types stats (ack, CRC, form, ...) Date: Tue, 29 Oct 2024 09:44:50 +0100 Message-ID: <20241029084525.2858224-7-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241029084525.2858224-1-dario.binacchi@amarulasolutions.com> References: <20241029084525.2858224-1-dario.binacchi@amarulasolutions.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The patch modifies can_update_bus_error_stats() by also updating the counters related to the types of CAN errors. Signed-off-by: Dario Binacchi --- (no changes since v1) drivers/net/can/dev/dev.c | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/drivers/net/can/dev/dev.c b/drivers/net/can/dev/dev.c index 0a3b1aad405b..f035e68044b3 100644 --- a/drivers/net/can/dev/dev.c +++ b/drivers/net/can/dev/dev.c @@ -27,16 +27,31 @@ void can_update_bus_error_stats(struct net_device *dev,= struct can_frame *cf) priv =3D netdev_priv(dev); priv->can_stats.bus_error++; =20 - if ((cf->can_id & CAN_ERR_ACK) && cf->data[3] =3D=3D CAN_ERR_PROT_LOC_ACK) + if ((cf->can_id & CAN_ERR_ACK) && cf->data[3] =3D=3D CAN_ERR_PROT_LOC_ACK= ) { + priv->can_stats.ack_error++; tx_errors =3D true; - else if (cf->data[2] & (CAN_ERR_PROT_BIT1 | CAN_ERR_PROT_BIT0)) + } + + if (cf->data[2] & (CAN_ERR_PROT_BIT1 | CAN_ERR_PROT_BIT0)) { + priv->can_stats.bit_error++; tx_errors =3D true; + } =20 - if (cf->data[2] & (CAN_ERR_PROT_FORM | CAN_ERR_PROT_STUFF)) + if (cf->data[2] & CAN_ERR_PROT_FORM) { + priv->can_stats.form_error++; rx_errors =3D true; - else if ((cf->data[2] & CAN_ERR_PROT_BIT) && - (cf->data[3] =3D=3D CAN_ERR_PROT_LOC_CRC_SEQ)) + } + + if (cf->data[2] & CAN_ERR_PROT_STUFF) { + priv->can_stats.stuff_error++; rx_errors =3D true; + } + + if ((cf->data[2] & CAN_ERR_PROT_BIT) && + cf->data[3] =3D=3D CAN_ERR_PROT_LOC_CRC_SEQ) { + priv->can_stats.crc_error++; + rx_errors =3D true; + } =20 if (rx_errors) dev->stats.rx_errors++; --=20 2.43.0