From nobody Sun Feb 8 04:34:38 2026 Received: from mail-lf1-f54.google.com (mail-lf1-f54.google.com [209.85.167.54]) (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 59414187342 for ; Fri, 22 Nov 2024 22:16:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1732313818; cv=none; b=gGw6A3pBFqupoVAJJrswZ1RoWbomNOPR4NoJg1DRFDRjz5I4M/Le0DCSzfOVfR5pW9GXuGgdEm5nSYRnoJT0WKJDeb/XOep/KM/8+KVswnr22lRuuA+h1dNFfS5HsKvpR8qpvXyADdqOSpEJjPJj1lcA3V6AFycwfZxJ4z+YGRc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1732313818; c=relaxed/simple; bh=ldxR7DmjrgRcjjZ1Z/p/luxN1xxh7dfLbpLVH96Oblw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Ogce8WtVViJwobtWyR3ULY9Y9p3umNTe7Hbk5D9cC2dMtp+QM1Ex8tbn73X+q/eFjM08P4BnU63RfZMnWOiaAXOP3ukat/xX/EWfME/WMReHdgaNtJPYn56AP7H+PSwzwSKD0KHCQMEpYGmBFBcLyKZAsrsd4T0veG87XD4XEjc= 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=bkbNsZ9e; arc=none smtp.client-ip=209.85.167.54 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="bkbNsZ9e" Received: by mail-lf1-f54.google.com with SMTP id 2adb3069b0e04-53da3545908so3148192e87.1 for ; Fri, 22 Nov 2024 14:16:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1732313815; x=1732918615; 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=eXl+FSVARqVcRtIxq69Tn4oF98SIhVQqmrh7i+R1ZlE=; b=bkbNsZ9eaWAvGMRAzTcz9B8FpGfDFioyNBSHHNJzxKhfa1QFmu++vLFtiVnXxbkcyF +wFozAHgbeGaPcDup+3ENtLk22rJPmqmzcYO5l/jRjCx/OGeICUFaOhDLNnrJu0qvLFf dq2Tu4aZ89taKZGrnQlmBSZV2/u0AbKun65D8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732313815; x=1732918615; 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=eXl+FSVARqVcRtIxq69Tn4oF98SIhVQqmrh7i+R1ZlE=; b=WV/kFJOcwzxiYl+PeRJb+rgTp2+8jquFaFkchuDOFFx84pqZvwEX6x1AEHmOpbrD0i pOVISz/gfO9gMjh7ZFeVHu6kLgFboPnLsOqzuNjMIsuUbPlRxHOEzxc+xRQwVj99cuK8 W1wzHejOw6g19fwM3HW8S1yeU6Y/wXFkHLL+zw8TkyKKOIyujGGp3y2wHju5kpdOPsQF t6U6RtvQy0xVYkclgweRDG3kB9WibAghV5fR6Hl3i5JRDhQUipKGQsmHxi94W1k48ElX 5Tmn8k5mPT2GloiezKBHh+zgUQlXlNjh15Oa6IrVZccrWR8ScmrrYrjkVt2s8Wrt0n+3 fFUg== X-Gm-Message-State: AOJu0YwS795bbVAKgKRU2e1Yanf3l76obZfNg04TssOzuAvRZPm5xzoP W+lGSZlbizkW8P0z+neLtVCpuHY7QeyMrdVD44iuSshTy1B01gdYyRGffEDHnLEoJ+wa8/atwmW O X-Gm-Gg: ASbGncsHA4BnTU64x2tS9dml/3aVToly2589Efwr6pZ7x0ZbGe2Rmc5ei7laUazu2w/ qeveNRNilT9Zg4aS9i9nh5SZzWt+rgmKsyD9E5+4qWZCcbQ9OIIvlJSeb/Lf2B35Cr1f/FQuYrN LuDNAJ2npZ5SP4ro5HE6CfSc/+lsSLlQWvCx4aLUy4W33Ehf791TprtuUsVUKDBZ3DiyTj7ey7e zFQxLJqJlSptRCyRzHOyMoi297ZM3YzgFrNf+ju8PLZe/df11Yif2KiWAyVqyo6XAzhD2Z9C++/ QGJVzziCN8HRxvuQyKLjAU2G0Ikb5wXy7FMd1qmf7ANy4t0QpPvufTulsQZHw6hu7oxINNVCyEF hjFJxozEHXb4ZQQMm X-Google-Smtp-Source: AGHT+IHPZQFrM56J/OIyk1Q59hKMDjmlud7peYUn3uyJVNqixLxLsv4xopNTFKGImm55L3dfJExZHQ== X-Received: by 2002:a05:6512:39c3:b0:53d:d957:9f92 with SMTP id 2adb3069b0e04-53dd9579fd5mr1789697e87.9.1732313815331; Fri, 22 Nov 2024 14:16:55 -0800 (PST) Received: from dario-ThinkPad-T14s-Gen-2i.homenet.telecomitalia.it (host-82-54-94-193.retail.telecomitalia.it. [82.54.94.193]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-aa50b52fcebsm148226466b.127.2024.11.22.14.16.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Nov 2024 14:16:55 -0800 (PST) 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: [PATCH v2 01/12] can: c_can: update statistics if skb allocation fails Date: Fri, 22 Nov 2024 23:15:42 +0100 Message-ID: <20241122221650.633981-2-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241122221650.633981-1-dario.binacchi@amarulasolutions.com> References: <20241122221650.633981-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" This patch ensures that the statistics are always updated, even if the skb allocation fails. Fixes: 4d6d26537940 ("can: c_can: fix {rx,tx}_errors statistics") Signed-off-by: Dario Binacchi --- Changes in v2: - Added in v2 drivers/net/can/c_can/c_can_main.c | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/drivers/net/can/c_can/c_can_main.c b/drivers/net/can/c_can/c_c= an_main.c index 511615dc3341..cc371d0c9f3c 100644 --- a/drivers/net/can/c_can/c_can_main.c +++ b/drivers/net/can/c_can/c_can_main.c @@ -1014,49 +1014,57 @@ static int c_can_handle_bus_err(struct net_device *= dev, =20 /* propagate the error condition to the CAN stack */ skb =3D alloc_can_err_skb(dev, &cf); - if (unlikely(!skb)) - return 0; =20 /* check for 'last error code' which tells us the * type of the last error to occur on the CAN bus */ - cf->can_id |=3D CAN_ERR_PROT | CAN_ERR_BUSERROR; + if (likely(skb)) + cf->can_id |=3D CAN_ERR_PROT | CAN_ERR_BUSERROR; =20 switch (lec_type) { case LEC_STUFF_ERROR: netdev_dbg(dev, "stuff error\n"); - cf->data[2] |=3D CAN_ERR_PROT_STUFF; + if (likely(skb)) + cf->data[2] |=3D CAN_ERR_PROT_STUFF; stats->rx_errors++; break; case LEC_FORM_ERROR: netdev_dbg(dev, "form error\n"); - cf->data[2] |=3D CAN_ERR_PROT_FORM; + if (likely(skb)) + cf->data[2] |=3D CAN_ERR_PROT_FORM; stats->rx_errors++; break; case LEC_ACK_ERROR: netdev_dbg(dev, "ack error\n"); - cf->data[3] =3D CAN_ERR_PROT_LOC_ACK; + if (likely(skb)) + cf->data[3] =3D CAN_ERR_PROT_LOC_ACK; stats->tx_errors++; break; case LEC_BIT1_ERROR: netdev_dbg(dev, "bit1 error\n"); - cf->data[2] |=3D CAN_ERR_PROT_BIT1; + if (likely(skb)) + cf->data[2] |=3D CAN_ERR_PROT_BIT1; stats->tx_errors++; break; case LEC_BIT0_ERROR: netdev_dbg(dev, "bit0 error\n"); - cf->data[2] |=3D CAN_ERR_PROT_BIT0; + if (likely(skb)) + cf->data[2] |=3D CAN_ERR_PROT_BIT0; stats->tx_errors++; break; case LEC_CRC_ERROR: netdev_dbg(dev, "CRC error\n"); - cf->data[3] =3D CAN_ERR_PROT_LOC_CRC_SEQ; + if (likely(skb)) + cf->data[3] =3D CAN_ERR_PROT_LOC_CRC_SEQ; stats->rx_errors++; break; default: break; } =20 + if (unlikely(!skb)) + return 0; + netif_receive_skb(skb); return 1; } --=20 2.43.0 From nobody Sun Feb 8 04:34:38 2026 Received: from mail-ej1-f50.google.com (mail-ej1-f50.google.com [209.85.218.50]) (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 B329818B47C for ; Fri, 22 Nov 2024 22:16:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1732313820; cv=none; b=R287wnNVWslN3st8dwPwvf6t7FFzmu9SOORqsbPmxRxQCKB867aH38N/XG7QZxvJi4hwLM7U3Pac4pyVds5+0hXkXPxSYKr+ectVJfWc2P96h5/AlIQ9Clo82ZRxLnQtX+0HVvmx7KlEw4fvNlOSUoDR94Cx+5yCnDeLtltszms= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1732313820; c=relaxed/simple; bh=cfN/Sqofe2yynbRgQXfBL6ERxMwzjmzkAWAp/j8LOdI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=J1D8iLssP1MWJBX/uqWXRppTQomC7UcX3MUkkaZr9yCmxefHtABv4/oJyhW1t/AjkyVpiIvAIZXPAfTOqPMvRRUaSWveDUf8XYYR07/N7QxTDmtXXaC/oK8dnBR14i/pE9ijSjFYQDU1vTrXY9LDxQRtMVS3GHRp527s6KxmZQM= 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=ony2tUkd; arc=none smtp.client-ip=209.85.218.50 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="ony2tUkd" Received: by mail-ej1-f50.google.com with SMTP id a640c23a62f3a-aa4d257eb68so491435166b.0 for ; Fri, 22 Nov 2024 14:16:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1732313817; x=1732918617; 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=6HrdX116se3rn9QRZsQ51ceQKyywuhiVyeVP2xiWD4c=; b=ony2tUkdauEIYZVEV/1jP8fiwqKeU4V4xvrVR4z5nok9zNeaZs1wGnAXaI1dj0N+tZ KVJj3Bg83OubPEuE7KlXnFOYjYXtGqGhBb/hK6V8a0mM4ymG271Nv9CPoxaT3a7yVgv4 slHmejqsov+WI/jJuxWqKaCD86kYqO0FUmb38= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732313817; x=1732918617; 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=6HrdX116se3rn9QRZsQ51ceQKyywuhiVyeVP2xiWD4c=; b=EUf5uhOPQ/UigOX6Si5QGcP1GF2s75I+/N0hWl6o+KJ9jHlWctzjWE9qokdlf0myuB uHBZoNtcIPZ1Bf8o1ewh/GGcwJ8ojtTVIywRpra7AI75jvtf4olRO+iomWiRII4F1Rny 27pfTMfdKm5gaQ83GeJvF+HWBD2jh7nmKX1/r4P/MqkGI01urDDmAQEwCOgw+MLdsnpS lshjn1xO1i6qZHB+65QR5pRY3xz0Xce3zxE1MYG5hlqqnA08rbCVVYG0zzFcfHLLpZ18 xorcp3YkUHCmK2cEx51MdJQV+cqtyd1mbSvL63dg8ubuHMsbpk+jeM9Iq41o2RtAhh0t 2jKw== X-Gm-Message-State: AOJu0Yyz1ZY/VF8c3VydS6pIvvAPdshFCNHEGyiqsY5BYFScIENn5PIV 98AFQPXJ/f10/35Miv3/t/Da/cVStR2QS1e3KfRjbyIJorh9+lXiqm+uxgMWyiT7CZOdbSOSTwO v X-Gm-Gg: ASbGncsj4qSRicw7ti5GCnOSJF2C1BDxpRgj5LxBTmT8NhICi7AQmTknGjNdS/r3+bs 0QNPUE5soti4ZqG3BNnK3LDUcmczhEZY3IqjKFofX2Sw0Yef6jrau5BAhmP4n3zdfWUj7GYMocr TRs2IjT2kOK99IuBFAmfMFDuMi08DzJ29S5RkjtqzaynEjcr7PszVLFal8za8G10LeUhm6Cg1vJ nom189zTZfeZQZMtASiDCf40uxO3RpLoIafsSqo+Gq9SzFi6ZgBU+3wYBv+vs//yOclO9APrkr8 4wa4wvgf0Meh5QRtAic5HMeFtfeLJ6gsZGN6mjfqtJNx1UNb5WCUSFZ7Nz7QEOncbIzhgEVlGeY 6aYknahP4iX2t+PGn X-Google-Smtp-Source: AGHT+IHRSafR/Hd70o+h3rYpO/7VHYMjBwxEdj1MERjp9IAi6352iOe+u8OcuPheRZbM1LDn8364LQ== X-Received: by 2002:a17:906:31c1:b0:aa5:24df:ca8 with SMTP id a640c23a62f3a-aa524df1311mr297959966b.18.1732313816670; Fri, 22 Nov 2024 14:16:56 -0800 (PST) Received: from dario-ThinkPad-T14s-Gen-2i.homenet.telecomitalia.it (host-82-54-94-193.retail.telecomitalia.it. [82.54.94.193]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-aa50b52fcebsm148226466b.127.2024.11.22.14.16.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Nov 2024 14:16:56 -0800 (PST) From: Dario Binacchi To: linux-kernel@vger.kernel.org Cc: linux-amarula@amarulasolutions.com, Dario Binacchi , Chen-Yu Tsai , Gerhard Bertelsmann , Jernej Skrabec , Marc Kleine-Budde , Maxime Ripard , Samuel Holland , Vincent Mailhol , linux-arm-kernel@lists.infradead.org, linux-can@vger.kernel.org, linux-sunxi@lists.linux.dev Subject: [PATCH v2 02/12] can: sun4i_can: call can_change_state() even if cf is NULL Date: Fri, 22 Nov 2024 23:15:43 +0100 Message-ID: <20241122221650.633981-3-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241122221650.633981-1-dario.binacchi@amarulasolutions.com> References: <20241122221650.633981-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 can_change_state() can also be called if the allocation of the skb fails, as it handles the cf parameter when it is null. Additionally, this ensures that the statistics related to state error counters (i. e. warning, passive, and bus-off) are updated. Fixes: 0738eff14d81 ("can: Allwinner A10/A20 CAN Controller support - Kerne= l module") Signed-off-by: Dario Binacchi --- Changes in v2: - Added in v2 drivers/net/can/sun4i_can.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/net/can/sun4i_can.c b/drivers/net/can/sun4i_can.c index 360158c295d3..17f94cca93fb 100644 --- a/drivers/net/can/sun4i_can.c +++ b/drivers/net/can/sun4i_can.c @@ -629,10 +629,10 @@ static int sun4i_can_err(struct net_device *dev, u8 i= src, u8 status) tx_state =3D txerr >=3D rxerr ? state : 0; rx_state =3D txerr <=3D rxerr ? state : 0; =20 - if (likely(skb)) - can_change_state(dev, cf, tx_state, rx_state); - else - priv->can.state =3D state; + /* The skb allocation might fail, but can_change_state() + * handles cf =3D=3D NULL. + */ + can_change_state(dev, cf, tx_state, rx_state); if (state =3D=3D CAN_STATE_BUS_OFF) can_bus_off(dev); } --=20 2.43.0 From nobody Sun Feb 8 04:34:38 2026 Received: from mail-ed1-f50.google.com (mail-ed1-f50.google.com [209.85.208.50]) (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 86DC119F462 for ; Fri, 22 Nov 2024 22:16:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1732313821; cv=none; b=SyNNFPgNoz3pdRpozcrytCjpcr491KAMU8VHT5z+k8pU5oyWdfOYIrE8cBq8LHKHwBwCBmI95EjI4L6WdXyQ+28nV+v8YOAxwPINs43f2DmLJz7L8BwgPht8l7OLnMo/v0xRW2AFZ+nXrs09nUKyYf8NaWvJY4QByWTBNcZTlqA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1732313821; c=relaxed/simple; bh=bJ5akgXBwoiUhGjbtM87dqu6r2AImjKv44f50PKcNNM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=HXcorwvRusjP9hROlVp36ggjSO7kfvBRFRsDYlBJnIoVNjmYdx2XemBmedFEWH2Qx7QbBNqTmI5KqSi+mw19/FYuRVLL+sZbkufTZLf3HNCQXQYCz9Q4+mE7fYV61w7DG1NNjBEiFdrRF1ZpFqcowaxteG0/h1d9+QUjTST0F4Q= 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=U16nzsOt; arc=none smtp.client-ip=209.85.208.50 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="U16nzsOt" Received: by mail-ed1-f50.google.com with SMTP id 4fb4d7f45d1cf-5cfbeed072dso3171184a12.3 for ; Fri, 22 Nov 2024 14:16:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1732313818; x=1732918618; 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=da17qF15VPZTU2YSYHqLzMcyFK3KqWPtGcD0XFwPoOY=; b=U16nzsOt4XpL++sydhwST5W6HFxEY3efaLlkPhLsTK809xbURx2OBDQzeauZc+RlG7 1fd90CVOsCo5kGPFpbWa5pbX57s81hjzCMnegwm9J9EpZO6r5RE5HbrcyCwpSd/aUmww XLy0vi/E9L9JcMmSSz+UoISG22msb4CyOKdto= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732313818; x=1732918618; 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=da17qF15VPZTU2YSYHqLzMcyFK3KqWPtGcD0XFwPoOY=; b=ipE7I/1VAqCxyS9XjFwkEvHsB3TrM7maXmVYuG4n1QdmUsZcNuPxUaZvhpO71rOp2Y w3gnpyA6LkOeHeCeA9JQyFolL5Qnmi9uzbIjVqPWNI2LRWQoGVjedAZv7rRaQUpQpFHO uLkqdMEXnPIr0HqHHJMSwgP20loNUXkVQ9VMHhmvy7UsQnW/A5C4yN1OaUNMlhdiZxsb c9D2juQ3OwwPyQO/LJVKlhkWNW+APlaUuQg6ccmMBbC0HEytk9sa/8f882lfgJxxbxA0 AFnHEt2YJzFZHMwpM5bUvPnAKjzISjw/Hi0+0gqoKT/3A0kw4rO5XXqTknwGUi64Ch2X Pceg== X-Gm-Message-State: AOJu0YxqX92bpQFimtqRUNsWvK2o5VFt3OOdT4lTiS2TqZlyWRX7f92e RfSbmaWaPlzrjqFdhLq/WS8ob+UcIMap7UKzDWCExJtvX9dIQtfXK7aTjKcEC7D+CqSn1Eu5jXo S X-Gm-Gg: ASbGncuIZJgD95YIfbcQp7eJ8Jzjb+y71DxVpb8bM71IBPwOQB+6sUTyRDO4ElvNH1R rGlDFGd+VnFPaDuYObN38JB377Zaqr1GX6z1E9IBbIcCwNvG0NlBk85J6r5LZv4Ffh11Z3SI/u5 L6XsAuvKARHug+PJ4m6NW43XRDSLmNrm1JXVGZ5uzRsfvbmlfBJtSIJUx8kkIeYmLCEovldZzZ2 +cnEBFnvi1a0gHuYD/XPZ4bdpnGO9QGZy2VJ4DkmZdv40W/qi8EwLsUb9cJrrRwlhQCVUFodibu 1WpKgBiQ4NmKu0epPdgIylvMdi9UEfr6zEATPsnsBeYEOTmDDb5xtk0PCEnGabNe2lV+XIvwCQd 08A4bTv/Acf6cYTm7 X-Google-Smtp-Source: AGHT+IFqavb84q465UWZ6gGwXgO+FxfrEo4gdscEtW86lZSTJTKpRR6rT4g7qMsIZYvAutdo4gpnMQ== X-Received: by 2002:a17:906:4c9:b0:aa5:cec:2785 with SMTP id a640c23a62f3a-aa50cec28b3mr343858766b.25.1732313817919; Fri, 22 Nov 2024 14:16:57 -0800 (PST) Received: from dario-ThinkPad-T14s-Gen-2i.homenet.telecomitalia.it (host-82-54-94-193.retail.telecomitalia.it. [82.54.94.193]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-aa50b52fcebsm148226466b.127.2024.11.22.14.16.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Nov 2024 14:16:57 -0800 (PST) From: Dario Binacchi To: linux-kernel@vger.kernel.org Cc: linux-amarula@amarulasolutions.com, Dario Binacchi , Chen-Yu Tsai , Jernej Skrabec , Marc Kleine-Budde , Samuel Holland , Vincent Mailhol , linux-arm-kernel@lists.infradead.org, linux-can@vger.kernel.org, linux-sunxi@lists.linux.dev Subject: [PATCH v2 03/12] can: sun4i_can: continue to use likely() to check skb Date: Fri, 22 Nov 2024 23:15:44 +0100 Message-ID: <20241122221650.633981-4-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241122221650.633981-1-dario.binacchi@amarulasolutions.com> References: <20241122221650.633981-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" Throughout the sun4i_can_err() function, the likely() macro is used to check the skb buffer, except in one instance. This patch makes the code consistent by using the macro in that case as well. Signed-off-by: Dario Binacchi --- Changes in v2: - Added in v2 drivers/net/can/sun4i_can.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/can/sun4i_can.c b/drivers/net/can/sun4i_can.c index 17f94cca93fb..840b972498c1 100644 --- a/drivers/net/can/sun4i_can.c +++ b/drivers/net/can/sun4i_can.c @@ -570,7 +570,7 @@ static int sun4i_can_err(struct net_device *dev, u8 isr= c, u8 status) else state =3D CAN_STATE_ERROR_ACTIVE; } - if (skb && state !=3D CAN_STATE_BUS_OFF) { + if (likely(skb) && state !=3D CAN_STATE_BUS_OFF) { cf->can_id |=3D CAN_ERR_CNT; cf->data[6] =3D txerr; cf->data[7] =3D rxerr; --=20 2.43.0 From nobody Sun Feb 8 04:34:38 2026 Received: from mail-ed1-f50.google.com (mail-ed1-f50.google.com [209.85.208.50]) (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 B2A4F1BD9F5 for ; Fri, 22 Nov 2024 22:17:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1732313822; cv=none; b=HUEbpojYXwm9HJ/SHg7X3uzti9zt8b6wK7OHIRsWCS8kYocnkgQ2k/TyCpu29Easno1Pt4cpHKU0nRXx9Mr0YHS0els+fmO5NPCnrwozd9iKlC/UDFMzGmGcqdPsuevVcKQ19oGoFjQspdz/hf5FGPw00rLvyDWt7+zqp7W5lnI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1732313822; c=relaxed/simple; bh=efbjGTczyugw1pySOLOPhnxLKFyFbgfz1MN4+/QXZKs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=KQohIkx58Y4CP/c5EbTr3W1oyW8F68Z3jamIaCSaxVEBeoOpHuwWzP+JVXsYaGMBstwAxbeNY7JUlF4lTO4iVwr85igxP2zIk5h5D8r4Arez6Lpz4mkns25hx/Mil0TR+ubItPQq9B2XbqnXVthKzlHmTIjqOeW7KjeVhLMZop8= 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=KezNprRJ; arc=none smtp.client-ip=209.85.208.50 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="KezNprRJ" Received: by mail-ed1-f50.google.com with SMTP id 4fb4d7f45d1cf-5cece886771so3580574a12.0 for ; Fri, 22 Nov 2024 14:17:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1732313819; x=1732918619; 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=yJP+d2oKTX52rq2v9NzXxSt1l/2jtdXfEIdax2O5les=; b=KezNprRJDgkB/ZvtFVWa7/OaNf18HGv82uDoN6JgL5KWjlVORS0DRe5374FnknBc6v 6i54IS2IiMhq/wTYg6r8jx6NtvQdA4Sz9Sa2KvTf1j8ZqTl4SHlTagjKlUl5fMgXjmsi IhwoxIvA9vziGCHKTX4oLJbE/qqoK37/aaHuA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732313819; x=1732918619; 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=yJP+d2oKTX52rq2v9NzXxSt1l/2jtdXfEIdax2O5les=; b=PhnERfcPOizFnvMS3GNL3VPBvyG3IuIpfI9sO/kUe618+btPLjaaMAq9699+OvNS5q k4Vvbb04dpTZi0PGJr9HrcCPgvN9BG4sxBKIWuRK7CcXNSYwhBIRVt/mz1wtIFUsCLzF O5shCLpCosci7CWhVfSWIaHv0it8SxjkN4zNslbrYZ+ZW1mahAisbODLRweCw1xPlbmD W4Pk1QZgF9jh0OfmAVEUG6c3CIvKfre3OweoIi/FzZNoZmXUECvI0oAet40C3pXvBfWq XIyb9CR4J3UfSekUh4URgsUUhDzF60TZ6kUYLiLJsyIFk5NEzTC8959BGkn2idvh28UZ 54Fw== X-Gm-Message-State: AOJu0Yy0cmL7hcvMN30KIPklrDAh8YRcDXTTApcHab3nhRyb5SUOBH7j wSA7U2MLDqgWoxA/NGRHtzMpmG3r3rDMogySmfHnn+No39aSd8IQeTi/a1wzfssLDGk70JKgbST 1 X-Gm-Gg: ASbGnctCuWdDOPO4LYzQUxWVZ5jRb2WwgGhNW0HHnIyWXu96ogGCtI4LiQsE++QBaqb vXjPOkmX2TJsWLjcDcnXdPcVztu1UdhNfRKlz3zHLubp6hy2oCA4PN6/iNG/bdoocT6Cp40Nu3n LWVzhIn4dPNJnoqX0EB3LVwXRWZXiRQUO14BDb5CxmgGNgrXRIGH2rvLft+CDYxQOLahM0HXeYP po0LdbhSdRR5dfTA8HB/2Jg6/E7EYunpMk134Eggg4umf+0ffZ5oHf5muJtP4zpMnPEIPsymCbQ oM2peOqKnhdXhbBBM6AyZIBfYocr7SOqIbxbcdYa5tuLgdgN6vFX7Z4mrP9uccfRY3fftbvlmEh CNqToKHE4IsCxY6oo X-Google-Smtp-Source: AGHT+IGVxTQySZsE/tv/VZESBfxk3xJJqygiRA0W4TZmeP4NEP+xLMVnae8R8ot7CiIlz9KLOHPPtA== X-Received: by 2002:a05:6402:2554:b0:5d0:ada:e44b with SMTP id 4fb4d7f45d1cf-5d01d57df0emr4922820a12.16.1732313818928; Fri, 22 Nov 2024 14:16:58 -0800 (PST) Received: from dario-ThinkPad-T14s-Gen-2i.homenet.telecomitalia.it (host-82-54-94-193.retail.telecomitalia.it. [82.54.94.193]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-aa50b52fcebsm148226466b.127.2024.11.22.14.16.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Nov 2024 14:16:58 -0800 (PST) From: Dario Binacchi To: linux-kernel@vger.kernel.org Cc: linux-amarula@amarulasolutions.com, Dario Binacchi , Krzysztof Kozlowski , Marc Kleine-Budde , Vincent Mailhol , linux-can@vger.kernel.org Subject: [PATCH v2 04/12] can: hi311x: fix txerr and rxerr reporting Date: Fri, 22 Nov 2024 23:15:45 +0100 Message-ID: <20241122221650.633981-5-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241122221650.633981-1-dario.binacchi@amarulasolutions.com> References: <20241122221650.633981-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 commit a22bd630cfff ("can: hi311x: do not report txerr and rxerr during bus-off") removed the reporting of rxerr and txerr even in case of correct operation (i. e. not bus-off). The CAN frame is unnecessarily set since netif_rx() has already been called. The patch fixes the issue by postponing the netif_rx() call in case of txerr and rxerr reporting. Fixes: a22bd630cfff ("can: hi311x: do not report txerr and rxerr during bus= -off") Signed-off-by: Dario Binacchi --- Changes in v2: - Added in v2 drivers/net/can/spi/hi311x.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/can/spi/hi311x.c b/drivers/net/can/spi/hi311x.c index 148d974ebb21..b67464df25ff 100644 --- a/drivers/net/can/spi/hi311x.c +++ b/drivers/net/can/spi/hi311x.c @@ -671,9 +671,9 @@ static irqreturn_t hi3110_can_ist(int irq, void *dev_id) tx_state =3D txerr >=3D rxerr ? new_state : 0; rx_state =3D txerr <=3D rxerr ? new_state : 0; can_change_state(net, cf, tx_state, rx_state); - netif_rx(skb); =20 if (new_state =3D=3D CAN_STATE_BUS_OFF) { + netif_rx(skb); can_bus_off(net); if (priv->can.restart_ms =3D=3D 0) { priv->force_quit =3D 1; @@ -684,6 +684,7 @@ static irqreturn_t hi3110_can_ist(int irq, void *dev_id) cf->can_id |=3D CAN_ERR_CNT; cf->data[6] =3D txerr; cf->data[7] =3D rxerr; + netif_rx(skb); } } =20 --=20 2.43.0 From nobody Sun Feb 8 04:34:38 2026 Received: from mail-ej1-f41.google.com (mail-ej1-f41.google.com [209.85.218.41]) (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 D336E1CB337 for ; Fri, 22 Nov 2024 22:17:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1732313824; cv=none; b=DE1FzhR4VCZXvi1DgxJj7Ex1+Z0kFE4VGi2URnp4RfYll8W+3gigPPS848rBs1a9LPzCqSSSrD61ft3tESAIprHo7e3SV+x6gcn/CxA3WsNGcbUO4OVpFi34v+ryNog07Qn1J4P28IMC+K/e5DSxan+zyxc8a6/ibN3wRaOeWU4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1732313824; c=relaxed/simple; bh=X5bhrWLbCQAe1csEiDvUzppWIlVR+MJIkYpWOBniS+k=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=HtEJ+cjojVqzBM7rnXSZpyiyA2mWBGJU45qpB4s3YaAxbkJ8ViVkMHcSGNXfe4ft2gyU2pTHN03NMfmY2vcRGvP9e48XSM1obqcaaqwwmlbDYZ5wBGNxjUzlyc0CdwGo/l+uu6fO7nMkhB9Q3AEwZCduqxQTiGTT14y79r0EE2o= 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=KZZfyM3k; arc=none smtp.client-ip=209.85.218.41 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="KZZfyM3k" Received: by mail-ej1-f41.google.com with SMTP id a640c23a62f3a-aa52edbcb63so51205866b.1 for ; Fri, 22 Nov 2024 14:17:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1732313820; x=1732918620; 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=WH36KmdYBNGOfsV00pmvqC+HZVSDrTPa9bev2FjcerA=; b=KZZfyM3kgN4sBMgzzvKjeWTKrcEf1uvhl0axEYrHnc8GUPjRupSI+oE4qZivkZAxGg 5TjtCZkCPzJ7HhY6JMFwfurehnPLZuJtNEYyC/0UiG39C8JolUWpK3pGyO5fGQQB08it IkULMu+mozFhtfsBc8UcPCaDxfW1Kx3nhECbA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732313820; x=1732918620; 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=WH36KmdYBNGOfsV00pmvqC+HZVSDrTPa9bev2FjcerA=; b=hVUqiGJnEtc6T4gK9kFVXlJ/n+G0ax41rORdSuYwndO67z+pQIH0NmeFrVaWZroIfI knxhF+k0wxSxKw5ZjNR1JCbz7+HRpx+yr9oW5A5Peo9u7XVPWEbq+3GIxX1Gpdswh+dr 7YuY8krJX0HiBk5wuGtDkgxId0lrOv3AQIVO52Itx2BlLGy9vd/6bS4qnPoCaxyAWe+T P9ga6IPk00kUqDXup/Eu1k3lZ+luy0wQbPlBzT6yqTpkoPAoaWBET0uVcQJO2dLYZDJ3 G/p3QPRq8702JtHtSqKtqvlj0QZeMhT3v78UMKhBOuh3QJsS8qoDjsnwX5O0LrLLL9P0 on2A== X-Gm-Message-State: AOJu0Yx0LMzbGKj6plsEwSE0Nq7cyLu99e3hO28NE8nignsvk1WTU3Jq 47/oJ99Ols1WsyXtR2GvkUFtBZgbzYetIqMD1bhTA1RJhhX2OniLD9hk3GgisDGRB2DJugdFJfJ y X-Gm-Gg: ASbGncs2EoKkSHezpkzTSKUmd2wZAUsbwsb4XemQgUa+Iq4JFW/XCx2krE041nxXjYm PLifdRk68J0UiR9uptYS/qfZghiTq2Et4oFhefNUTLR8KSbtN2OyC+nATmKslZUog9jbDD43snw HWuC9iU9bINYlmxf6526o9H7bdz7jUAC0aQRDxq5XEvUdS7QJ31pb+XDn9JOobI7/u6MnV6ThP6 s7Cx5AePx3Zy0yRdGGktLZZrEPvqOcPzLzH6ByEtsYRgFwbLj0QNEcBSOj8/LJ3JA9tb/E2sSdn Zl2nN8gzbZOnZ4EO0dUBcNfAJNB0Ajpsi8F1WMFjU4pqSHfJueYYaI0jg30R1Mf6GdgDIGr4hSG 8ItcEgxn6VYq4u3TB X-Google-Smtp-Source: AGHT+IH8FamDuZmqAUT6oJKKDvFN60oAvN/pj+lUo2fax+NOxU2EwGrNeXSVdxgLNcVN9PSpE7hbhw== X-Received: by 2002:a17:907:aa8:b0:a91:1699:f8eb with SMTP id a640c23a62f3a-aa509d5aca6mr395581566b.28.1732313819950; Fri, 22 Nov 2024 14:16:59 -0800 (PST) Received: from dario-ThinkPad-T14s-Gen-2i.homenet.telecomitalia.it (host-82-54-94-193.retail.telecomitalia.it. [82.54.94.193]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-aa50b52fcebsm148226466b.127.2024.11.22.14.16.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Nov 2024 14:16:59 -0800 (PST) From: Dario Binacchi To: linux-kernel@vger.kernel.org Cc: linux-amarula@amarulasolutions.com, Dario Binacchi , Krzysztof Kozlowski , Marc Kleine-Budde , Vincent Mailhol , linux-can@vger.kernel.org Subject: [PATCH v2 05/12] can: hi311x: update state error statistics if skb allocation fails Date: Fri, 22 Nov 2024 23:15:46 +0100 Message-ID: <20241122221650.633981-6-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241122221650.633981-1-dario.binacchi@amarulasolutions.com> References: <20241122221650.633981-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" This patch ensures that the statistics related to state error counters (i. e. warning, passive, and bus-off) are updated even in case the skb allocation fails. Additionally, the bus-off state is now also handled. Signed-off-by: Dario Binacchi --- Changes in v2: - Added in v2 drivers/net/can/spi/hi311x.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/net/can/spi/hi311x.c b/drivers/net/can/spi/hi311x.c index b67464df25ff..25d9b32f5701 100644 --- a/drivers/net/can/spi/hi311x.c +++ b/drivers/net/can/spi/hi311x.c @@ -663,8 +663,6 @@ static irqreturn_t hi3110_can_ist(int irq, void *dev_id) u8 rxerr, txerr; =20 skb =3D alloc_can_err_skb(net, &cf); - if (!skb) - break; =20 txerr =3D hi3110_read(spi, HI3110_READ_TEC); rxerr =3D hi3110_read(spi, HI3110_READ_REC); @@ -673,14 +671,15 @@ static irqreturn_t hi3110_can_ist(int irq, void *dev_= id) can_change_state(net, cf, tx_state, rx_state); =20 if (new_state =3D=3D CAN_STATE_BUS_OFF) { - netif_rx(skb); + if (skb) + netif_rx(skb); can_bus_off(net); if (priv->can.restart_ms =3D=3D 0) { priv->force_quit =3D 1; hi3110_hw_sleep(spi); break; } - } else { + } else if (skb) { cf->can_id |=3D CAN_ERR_CNT; cf->data[6] =3D txerr; cf->data[7] =3D rxerr; --=20 2.43.0 From nobody Sun Feb 8 04:34:38 2026 Received: from mail-wr1-f51.google.com (mail-wr1-f51.google.com [209.85.221.51]) (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 DBA531D12E0 for ; Fri, 22 Nov 2024 22:17:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1732313824; cv=none; b=bTblXChpFL2cnYngoEXXBHj5JJE+GxSMQ/OjdMw8SDLqiS7M8eQeiz7ZAlIMpHAkwT15ziR3HkcwFBzgK9l8fbuYYwnI9RUv49nRuhCt6AjSvo/jo3KzK6+ERWfsJ+ae0c9lKVAjdnweLwowHjAUa67+nEi6Jw9avM2WioQmix0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1732313824; c=relaxed/simple; bh=I2LtvohaVFJmgdnLxw93thch89TSJ/pRe33LDaC2gmU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=tWe9BGzivH3+VidAlsAaMi5FB/Awfev3WR1Ojg0O3yt7Rp1dDgAJQTdIkypLF4XX/XQg5Xe+1wqJ73okx7MmLOsA6oHmmU5XCl7jZiU5OM3qhB73i4zEOd0WGbjMahbEpbq2hwnsS6tjMuVL4fesSTq/MK2xgS0i6ZwJ8cjsvO4= 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=fxsO3iOR; arc=none smtp.client-ip=209.85.221.51 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="fxsO3iOR" Received: by mail-wr1-f51.google.com with SMTP id ffacd0b85a97d-38245e072e8so2372046f8f.0 for ; Fri, 22 Nov 2024 14:17:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1732313821; x=1732918621; 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=RX04a1ntmZvpkxNuR7+A/BvpYp1w7zMI7wCHavx9c7Q=; b=fxsO3iORFwTSuc0vg+4QpPtILlQUy9fcDrwugccJJMnKvPMIMnc/yHh2vOV4ZlUJSB JSNHdos7Yk1Vm1VWz/RWhu3vLBx28j+coLfiADuk8HT/I5GJPXQAed4EnMgmHDcRQPry 45Bxy1jYXqkPg/uvdex+trRlaOvfkqsJJdbaQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732313821; x=1732918621; 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=RX04a1ntmZvpkxNuR7+A/BvpYp1w7zMI7wCHavx9c7Q=; b=GqTjx0mydI5j7VpY1J4Ebf8ZzuhpNE1/vs2WbicaREiKjjDUg50Qrmsww+JtrUOoGD 9dqMwz1884mk1e1Ljf7Ih4ZU3+cCLiNwCf/Mm5bTppY2ruHt4oPBcApfJD1yss8CZexa HaDqbH461WfGrCIjRXVggQb4K8pdD3Jcj91r/Wh9gwLN71jzLkjcNy7/1tEIbu4lmkdv o2LLXALiMyy5Gvav9LPSXrPgpdpZf/KmfZqvcUiHc0aGjumwNKehsmtdzefoOOIMM8J0 3i7fSeDRK1u5/d4mjHyCb4ixsUQsFPiJHsw4mVYvPBb9bPYsusuYx/gIHnMnz0XqjWYK EIEQ== X-Gm-Message-State: AOJu0YxKilSraRH2TbHNS1p/P8xK7HdeJ3TffwHkoEEFFGfY+Rj5q0as gT0Tvv9idK3BzxyTiCYqEsaxkgjejR5m/uqtYh7FsTnVfm9s3tabqKwoQiUO2zPA0eC/znFPml1 / X-Gm-Gg: ASbGncvsoUdvoAzcYtaG/x2hSc5v6FBVE4xFUVO5ya/oA9w7atvlksoVudIufvJ1GdA OMJAbUHLKyLuY3dI5ry8PVSBVseQwCAjlFHKUW2OaDXdIWk7G4cV9cW+kMx42JgyK6gXTQP4FXq n6dE0/TaxVWxq0ifFGl/rkK21TdAOKRlviGgGhC09Y7dshkq4RfXlGQqjiZQ64We6CAzL7/wp6w ApSohMuKzgkS2TvSOCp0CZzV6FGsSO+4aaFK/8EH7alHyanYVoxpiqDqkUJbbggndybr2FVW1CX pdv9Tb2ASEjtyPYbL29gslk5wkgOxPiqU2GcyHSuaHoym3W3c2PEI9H43Nj4w1eDVydpgaojexG Gf59EcsRG5RhUU5vd X-Google-Smtp-Source: AGHT+IHAxj0+27hbn5+PS2X0z9RbUmW0ALk+EbhHU9lNW6NXCe6XpBxQu2KoM64ItRHZ2zhJK1K97A== X-Received: by 2002:a05:6000:1788:b0:382:51d7:a2e0 with SMTP id ffacd0b85a97d-38260b61f45mr4102854f8f.27.1732313821142; Fri, 22 Nov 2024 14:17:01 -0800 (PST) Received: from dario-ThinkPad-T14s-Gen-2i.homenet.telecomitalia.it (host-82-54-94-193.retail.telecomitalia.it. [82.54.94.193]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-aa50b52fcebsm148226466b.127.2024.11.22.14.17.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Nov 2024 14:17:00 -0800 (PST) From: Dario Binacchi To: linux-kernel@vger.kernel.org Cc: linux-amarula@amarulasolutions.com, Dario Binacchi , Chandrasekar Ramakrishnan , Dong Aisheng , Fengguang Wu , Marc Kleine-Budde , Varka Bhadram , Vincent Mailhol , linux-can@vger.kernel.org Subject: [PATCH v2 06/12] can: m_can: fix {rx,tx}_errors statistics Date: Fri, 22 Nov 2024 23:15:47 +0100 Message-ID: <20241122221650.633981-7-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241122221650.633981-1-dario.binacchi@amarulasolutions.com> References: <20241122221650.633981-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 m_can_handle_lec_err() function was incorrectly incrementing only the receive error counter, even in cases of bit or acknowledgment errors that occur during transmission. The patch fixes the issue by incrementing the appropriate counter based on the type of error. Fixes: e0d1f4816f2a ("can: m_can: add Bosch M_CAN controller support") Signed-off-by: Dario Binacchi --- Changes in v2: - Update statistics even if skb allocation fails drivers/net/can/m_can/m_can.c | 33 +++++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/drivers/net/can/m_can/m_can.c b/drivers/net/can/m_can/m_can.c index 16e9e7d7527d..533bcb77c9f9 100644 --- a/drivers/net/can/m_can/m_can.c +++ b/drivers/net/can/m_can/m_can.c @@ -695,47 +695,60 @@ static int m_can_handle_lec_err(struct net_device *de= v, u32 timestamp =3D 0; =20 cdev->can.can_stats.bus_error++; - stats->rx_errors++; =20 /* propagate the error condition to the CAN stack */ skb =3D alloc_can_err_skb(dev, &cf); - if (unlikely(!skb)) - return 0; =20 /* check for 'last error code' which tells us the * type of the last error to occur on the CAN bus */ - cf->can_id |=3D CAN_ERR_PROT | CAN_ERR_BUSERROR; + if (likely(skb)) + cf->can_id |=3D CAN_ERR_PROT | CAN_ERR_BUSERROR; =20 switch (lec_type) { case LEC_STUFF_ERROR: netdev_dbg(dev, "stuff error\n"); - cf->data[2] |=3D CAN_ERR_PROT_STUFF; + stats->rx_errors++; + if (likely(skb)) + cf->data[2] |=3D CAN_ERR_PROT_STUFF; break; case LEC_FORM_ERROR: netdev_dbg(dev, "form error\n"); - cf->data[2] |=3D CAN_ERR_PROT_FORM; + stats->rx_errors++; + if (likely(skb)) + cf->data[2] |=3D CAN_ERR_PROT_FORM; break; case LEC_ACK_ERROR: netdev_dbg(dev, "ack error\n"); - cf->data[3] =3D CAN_ERR_PROT_LOC_ACK; + stats->tx_errors++; + if (likely(skb)) + cf->data[3] =3D CAN_ERR_PROT_LOC_ACK; break; case LEC_BIT1_ERROR: netdev_dbg(dev, "bit1 error\n"); - cf->data[2] |=3D CAN_ERR_PROT_BIT1; + stats->tx_errors++; + if (likely(skb)) + cf->data[2] |=3D CAN_ERR_PROT_BIT1; break; case LEC_BIT0_ERROR: netdev_dbg(dev, "bit0 error\n"); - cf->data[2] |=3D CAN_ERR_PROT_BIT0; + stats->tx_errors++; + if (likely(skb)) + cf->data[2] |=3D CAN_ERR_PROT_BIT0; break; case LEC_CRC_ERROR: netdev_dbg(dev, "CRC error\n"); - cf->data[3] =3D CAN_ERR_PROT_LOC_CRC_SEQ; + stats->rx_errors++; + if (likely(skb)) + cf->data[3] =3D CAN_ERR_PROT_LOC_CRC_SEQ; break; default: break; } =20 + if (unlikely(!skb)) + return 0; + if (cdev->is_peripheral) timestamp =3D m_can_get_timestamp(cdev); =20 --=20 2.43.0 From nobody Sun Feb 8 04:34:38 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 EA5DB189909 for ; Fri, 22 Nov 2024 22:17:03 +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=1732313825; cv=none; b=A87uVNwzbtWX6kwr7tU6yIUYAWFCsYebVZtH8+mahNdG3aqV7FzX9blq3Y2A9Hj7+Rlkt+6j9LouDVvv/nPQ/1cyHGFpiHeL1xAifrV5b6msaT8AVRBjtbseGl5rUzFp5+k+lX3xJNx3+i+42JY0YSFYrkkx1bBr19zRkWZzP5g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1732313825; c=relaxed/simple; bh=Rrn1AFRXusH8eqUoUkll0VoT1Qat1qd0XiiLbWvCoAE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=a2uaqUicziiuIUVrAqzr7RWZX71+o31XerdS2kLWuGNrMztx8YiQO+0sPupGDzsPxolap2aLfxOVtSPxpIFX2WEX5pskAZDsh4AzXLN3duvzxB4jwXp8VrBX2KQHCiudIWLSpeTo+P6n8OH78/5HxUJEr9Fh1DR+K2nH9J8l/RI= 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=mspf45Y3; 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="mspf45Y3" Received: by mail-ej1-f52.google.com with SMTP id a640c23a62f3a-a9ed49edd41so421322366b.0 for ; Fri, 22 Nov 2024 14:17:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1732313822; x=1732918622; 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=hTITGD97t4sTBt1UReGjyzt5Hepohw9TTIeQjkSL1bk=; b=mspf45Y3VFa0f8wT0j0QbfpXdDBWZ6rkOkyLUHjLfsmLW6CIHmBa3XBHqCua94bfer sYdmOMt3hQI4jjQRvSVKQGvoGiYPzHjfLsyzojxF3cRdaZO02wMxrPUMAR9bdDZ6pbTq E5BJkBnf5LbWVYclZMdQWDTWv4k3Dmc9x0U9Q= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732313822; x=1732918622; 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=hTITGD97t4sTBt1UReGjyzt5Hepohw9TTIeQjkSL1bk=; b=DwG8X5/2nNtS/KF2aarOrgPNl+6jStQDzea2bbLcFE7mF58I/S1uO9JDwHIXfFA6lj 502rxGa7NSHoHcixoETes5MpxYNvlZ1ADgxiW7FkNS2nJfD28m5uCBEJC+ZIrIHeB/05 uV7AwLonlWQCMb/oVmq1cd/0oYPMJiYcvHDeGcuLZ6ytOod0bqfLmxLtPt6cOkBU827r edmqlRhjznP4owF/tXLpAs0MGdVr1wdSxBg7Ak2oi3skNLllSl+g87CZ/e/xe19bJ+6/ 3zehJNk57biJtLuuZ4Rih7CLHgKuBxy4kLh6auvN9dQ2BTspOgHDVwpfapoyNB4/2gIR C3CA== X-Gm-Message-State: AOJu0YxmbMfPbS92D+BbgpOkQCt4oxJRiuc09V74frOmRgBvvM7Dlbgs SAbiNVziw3AOX7C54kt8EZ1jqyztO/jr1RRKdkQNvjWLdN6tyOWlPWs7f54EJzXsLKrskaMqEzi 8 X-Gm-Gg: ASbGnct8jb+Du2MIob+mlAk1KbSCc1kUY3ls+15K/px/Ay5VAhZvlMyYRdpsfSp5G2N GWeTCz0GX/RJYttaeA8MZF5Go7acD91O4voej2CliHkTXrntsm/Lk9ut5Qjd9uyyy71GuxoUCWB UD36UBUbGXFvUaUilOAoQCV1DqTjf9KgBBGpYTnZS2zG2jzDv0yF+bS5wliCpqsHwm2hLLDxCkA pv7i7aDTVyu1tWR2qbnHP9J7qLigEx3FM6YFyjhquJGAPfyZG++HKWoTco5gXxSvEDrTVXZQ6hU 4oZSgHIS+w1DCkDXJU0lclNeD11lTEkounQ2FySf6r13R0eht4mXl9rvmENRAF0ASCHKb3YsD82 uXHpVeG7hfvnxQP/g X-Google-Smtp-Source: AGHT+IHbM7QtSLpq6Jm5tbJClhEmvEjJ+YBVaxImxk8/xeULO+0XP4nXtO4pVvN7FtMdUZSx0Yc92g== X-Received: by 2002:a17:907:7809:b0:aa5:11fa:6271 with SMTP id a640c23a62f3a-aa511fa6405mr324012266b.49.1732313822235; Fri, 22 Nov 2024 14:17:02 -0800 (PST) Received: from dario-ThinkPad-T14s-Gen-2i.homenet.telecomitalia.it (host-82-54-94-193.retail.telecomitalia.it. [82.54.94.193]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-aa50b52fcebsm148226466b.127.2024.11.22.14.17.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Nov 2024 14:17:01 -0800 (PST) From: Dario Binacchi To: linux-kernel@vger.kernel.org Cc: linux-amarula@amarulasolutions.com, Dario Binacchi , Marc Kleine-Budde , Marek Vasut , =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= , Vincent Mailhol , linux-can@vger.kernel.org Subject: [PATCH v2 07/12] can: ifi_canfd: fix {rx,tx}_errors statistics Date: Fri, 22 Nov 2024 23:15:48 +0100 Message-ID: <20241122221650.633981-8-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241122221650.633981-1-dario.binacchi@amarulasolutions.com> References: <20241122221650.633981-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 ifi_canfd_handle_lec_err() function was incorrectly incrementing only the receive error counter, even in cases of bit or acknowledgment errors that occur during transmission. The patch fixes the issue by incrementing the appropriate counter based on the type of error. Fixes: 5bbd655a8bd0 ("can: ifi: Add more detailed error reporting") Signed-off-by: Dario Binacchi Reviewed-by: Marek Vasut --- Changes in v2: - Update statistics even if skb allocation fails drivers/net/can/ifi_canfd/ifi_canfd.c | 58 ++++++++++++++++++--------- 1 file changed, 40 insertions(+), 18 deletions(-) diff --git a/drivers/net/can/ifi_canfd/ifi_canfd.c b/drivers/net/can/ifi_ca= nfd/ifi_canfd.c index d32b10900d2f..c86b57d47085 100644 --- a/drivers/net/can/ifi_canfd/ifi_canfd.c +++ b/drivers/net/can/ifi_canfd/ifi_canfd.c @@ -390,36 +390,55 @@ static int ifi_canfd_handle_lec_err(struct net_device= *ndev) return 0; =20 priv->can.can_stats.bus_error++; - stats->rx_errors++; =20 /* Propagate the error condition to the CAN stack. */ skb =3D alloc_can_err_skb(ndev, &cf); - if (unlikely(!skb)) - return 0; =20 /* Read the error counter register and check for new errors. */ - cf->can_id |=3D CAN_ERR_PROT | CAN_ERR_BUSERROR; + if (likely(skb)) + cf->can_id |=3D CAN_ERR_PROT | CAN_ERR_BUSERROR; =20 - if (errctr & IFI_CANFD_ERROR_CTR_OVERLOAD_FIRST) - cf->data[2] |=3D CAN_ERR_PROT_OVERLOAD; + if (errctr & IFI_CANFD_ERROR_CTR_OVERLOAD_FIRST) { + stats->rx_errors++; + if (likely(skb)) + cf->data[2] |=3D CAN_ERR_PROT_OVERLOAD; + } =20 - if (errctr & IFI_CANFD_ERROR_CTR_ACK_ERROR_FIRST) - cf->data[3] =3D CAN_ERR_PROT_LOC_ACK; + if (errctr & IFI_CANFD_ERROR_CTR_ACK_ERROR_FIRST) { + stats->tx_errors++; + if (likely(skb)) + cf->data[3] =3D CAN_ERR_PROT_LOC_ACK; + } =20 - if (errctr & IFI_CANFD_ERROR_CTR_BIT0_ERROR_FIRST) - cf->data[2] |=3D CAN_ERR_PROT_BIT0; + if (errctr & IFI_CANFD_ERROR_CTR_BIT0_ERROR_FIRST) { + stats->tx_errors++; + if (likely(skb)) + cf->data[2] |=3D CAN_ERR_PROT_BIT0; + } =20 - if (errctr & IFI_CANFD_ERROR_CTR_BIT1_ERROR_FIRST) - cf->data[2] |=3D CAN_ERR_PROT_BIT1; + if (errctr & IFI_CANFD_ERROR_CTR_BIT1_ERROR_FIRST) { + stats->tx_errors++; + if (likely(skb)) + cf->data[2] |=3D CAN_ERR_PROT_BIT1; + } =20 - if (errctr & IFI_CANFD_ERROR_CTR_STUFF_ERROR_FIRST) - cf->data[2] |=3D CAN_ERR_PROT_STUFF; + if (errctr & IFI_CANFD_ERROR_CTR_STUFF_ERROR_FIRST) { + stats->rx_errors++; + if (likely(skb)) + cf->data[2] |=3D CAN_ERR_PROT_STUFF; + } =20 - if (errctr & IFI_CANFD_ERROR_CTR_CRC_ERROR_FIRST) - cf->data[3] =3D CAN_ERR_PROT_LOC_CRC_SEQ; + if (errctr & IFI_CANFD_ERROR_CTR_CRC_ERROR_FIRST) { + stats->rx_errors++; + if (likely(skb)) + cf->data[3] =3D CAN_ERR_PROT_LOC_CRC_SEQ; + } =20 - if (errctr & IFI_CANFD_ERROR_CTR_FORM_ERROR_FIRST) - cf->data[2] |=3D CAN_ERR_PROT_FORM; + if (errctr & IFI_CANFD_ERROR_CTR_FORM_ERROR_FIRST) { + stats->rx_errors++; + if (likely(skb)) + cf->data[2] |=3D CAN_ERR_PROT_FORM; + } =20 /* Reset the error counter, ack the IRQ and re-enable the counter. */ writel(IFI_CANFD_ERROR_CTR_ER_RESET, priv->base + IFI_CANFD_ERROR_CTR); @@ -427,6 +446,9 @@ static int ifi_canfd_handle_lec_err(struct net_device *= ndev) priv->base + IFI_CANFD_INTERRUPT); writel(IFI_CANFD_ERROR_CTR_ER_ENABLE, priv->base + IFI_CANFD_ERROR_CTR); =20 + if (unlikely(!skb)) + return 0; + netif_receive_skb(skb); =20 return 1; --=20 2.43.0 From nobody Sun Feb 8 04:34:38 2026 Received: from mail-lf1-f51.google.com (mail-lf1-f51.google.com [209.85.167.51]) (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 2B7171DEFFD for ; Fri, 22 Nov 2024 22:17:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1732313827; cv=none; b=ZGO51LmPkiI+DIDUu2pfBvs4t482Ch5vzi+uVpwO4TgnmgS3vu1EGlOotmnGw1WDCGHduwdyPhKR90VxnkrvSEiu8hDpBv3ERLkVuRAvbbmLrACuQFKKPN2Pmd3qf9AKJyGwMUY2R2PobIjMDS14zP2hMO1j1Wc6utT92GjfY2I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1732313827; c=relaxed/simple; bh=RCHjtrDYGosX7hVMEeF0eEIsFG3i6FYsIXt5jHBzeRA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=BXY2tp749EComaB1p1ihaMsDCJoWM9R764hdOQBnPOuhiFtDTW8mmboz2nt8UB0NQSLBpDu6BV4Vi0l+bhqGs8ok6bMbMdnA/zJ40BafZm9aY0kANNLB4jwbxvg18Hkb1vPFw1e5AJTpVUopQ6wxAqb8eOWZWguRjiiNT6482+k= 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=hdm4jwGS; arc=none smtp.client-ip=209.85.167.51 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="hdm4jwGS" Received: by mail-lf1-f51.google.com with SMTP id 2adb3069b0e04-539f2b95775so3948483e87.1 for ; Fri, 22 Nov 2024 14:17:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1732313824; x=1732918624; 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=VgKjVRJAevY3wmDGnu8dG/wFQ+or5hcDk8y0qLVlEgA=; b=hdm4jwGShUM5EpuT17WLUC5TaTdkPsrZvQJHP0hea3mFj29mEQySrAFxa7ix9l56aM z33fRn4Jwk2HoOt1z5cRKYXzU/SYVrU9cba3K8KXrPRcdSKT/JzF4ZhJrCdwdY7bN0TD OgR8WROyHvWPjHmtyb4G9BdCX1yjvuwLf903M= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732313824; x=1732918624; 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=VgKjVRJAevY3wmDGnu8dG/wFQ+or5hcDk8y0qLVlEgA=; b=G7SCYaY7zv5ZU0liIw4hJ1ZCTfR/g4wIpBIlb2nVt4ii4m794YX25oipw+/J8qoroM KH5KewHDDMuW4BvxVW4EmXF2cbnLI6ZuAa8uj3q3V71n/OQWIAW2NMDoc48xx4nkZEhP cOhj3wONWR2wcO6QHgq30dIy+EepY4t5uAPR08IBhJwl6z16WI8sDYsfFKFYzEcF0LxS OZ+1m6ZjJKsZ+UH1lG05MoaySEM2fuhsxPT9DH3w0wD12YEwf4kfu7yNytOvO+za5LwL /EMW4xBDJdTSvCprYWyM7YvJPi5ZfTgDAZj/ev357Vehtp5IfHO+ubtYj2KKQ5+lA1PA YfaQ== X-Gm-Message-State: AOJu0YwXkHQnbgEgI5cNURkD8Y8vvr019fJ3Mkfxk/hs1kIHG02ucxMz jHvOJ7Fh8+CJhrO/9ZFYes7p2diF6ltVy4Od5ouD9eR6XxCTJo/LPML3O5opWgySHAugRt3RqTZ w X-Gm-Gg: ASbGncvcCAK1iD6gMCSSMPcivBcJei8HFFexCYa5ClrdHv7UwqFCEyIlDD4yip9MxO5 r7jgagUdeXvTpve0zF5NikbeL2OF1WSUKSbN+W+KZacPYOsYphF4EyGKmx02AZfX4QkUg563Z67 EwFNgqM8t0DrAO/q+jWeVUUcZsc3tHiQzJUWiJ4vOef1fN5EhM+Oz4PojR19le1zKUhh+al4aqn Fkk6swwo4LNld+zmHXYMyvUCJVfNF9oxuNrEps3ZlXb/YohlyGm0CfDBEdc36KDBCWniyxGuWYR /MGPyddvYP/BOOZ2NN9CrBw2RyU0479UU04b1XirbqwWt+zOMRicR+XUUpXvS+xpqUkoEqSQGd/ 7XweeDbVLQ4UiDf6v X-Google-Smtp-Source: AGHT+IHZ/ABLxFIVbFLFvSrsmgIkf3PgZHq1H1ox1bPhmgDf7xN30T44QnNfRAPsf4/UWKxgOeMrTg== X-Received: by 2002:a05:6512:b97:b0:53d:a2cb:1350 with SMTP id 2adb3069b0e04-53dd369f458mr3917868e87.17.1732313824154; Fri, 22 Nov 2024 14:17:04 -0800 (PST) Received: from dario-ThinkPad-T14s-Gen-2i.homenet.telecomitalia.it (host-82-54-94-193.retail.telecomitalia.it. [82.54.94.193]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-aa50b52fcebsm148226466b.127.2024.11.22.14.17.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Nov 2024 14:17:03 -0800 (PST) From: Dario Binacchi To: linux-kernel@vger.kernel.org Cc: linux-amarula@amarulasolutions.com, Dario Binacchi , Akshay Bhat , Krzysztof Kozlowski , Marc Kleine-Budde , Vincent Mailhol , Wolfgang Grandegger , linux-can@vger.kernel.org Subject: [PATCH v2 08/12] can: hi311x: fix {rx,tx}_errors statistics Date: Fri, 22 Nov 2024 23:15:49 +0100 Message-ID: <20241122221650.633981-9-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241122221650.633981-1-dario.binacchi@amarulasolutions.com> References: <20241122221650.633981-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 hi3110_can_ist() function was incorrectly incrementing only the receive error counter, even in cases of bit or acknowledgment errors that occur during transmission. The patch fixes the issue by incrementing the appropriate counter based on the type of error. Fixes: 57e83fb9b746 ("can: hi311x: Add Holt HI-311x CAN driver") Signed-off-by: Dario Binacchi --- Changes in v2: - Update statistics even if skb allocation fails drivers/net/can/spi/hi311x.c | 47 ++++++++++++++++++++++-------------- 1 file changed, 29 insertions(+), 18 deletions(-) diff --git a/drivers/net/can/spi/hi311x.c b/drivers/net/can/spi/hi311x.c index 25d9b32f5701..09ae218315d7 100644 --- a/drivers/net/can/spi/hi311x.c +++ b/drivers/net/can/spi/hi311x.c @@ -696,27 +696,38 @@ static irqreturn_t hi3110_can_ist(int irq, void *dev_= id) /* Check for protocol errors */ if (eflag & HI3110_ERR_PROTOCOL_MASK) { skb =3D alloc_can_err_skb(net, &cf); - if (!skb) - break; + if (skb) + cf->can_id |=3D CAN_ERR_PROT | CAN_ERR_BUSERROR; =20 - cf->can_id |=3D CAN_ERR_PROT | CAN_ERR_BUSERROR; priv->can.can_stats.bus_error++; - priv->net->stats.rx_errors++; - if (eflag & HI3110_ERR_BITERR) - cf->data[2] |=3D CAN_ERR_PROT_BIT; - else if (eflag & HI3110_ERR_FRMERR) - cf->data[2] |=3D CAN_ERR_PROT_FORM; - else if (eflag & HI3110_ERR_STUFERR) - cf->data[2] |=3D CAN_ERR_PROT_STUFF; - else if (eflag & HI3110_ERR_CRCERR) - cf->data[3] |=3D CAN_ERR_PROT_LOC_CRC_SEQ; - else if (eflag & HI3110_ERR_ACKERR) - cf->data[3] |=3D CAN_ERR_PROT_LOC_ACK; - - cf->data[6] =3D hi3110_read(spi, HI3110_READ_TEC); - cf->data[7] =3D hi3110_read(spi, HI3110_READ_REC); + if (eflag & HI3110_ERR_BITERR) { + priv->net->stats.tx_errors++; + if (skb) + cf->data[2] |=3D CAN_ERR_PROT_BIT; + } else if (eflag & HI3110_ERR_FRMERR) { + priv->net->stats.rx_errors++; + if (skb) + cf->data[2] |=3D CAN_ERR_PROT_FORM; + } else if (eflag & HI3110_ERR_STUFERR) { + priv->net->stats.rx_errors++; + if (skb) + cf->data[2] |=3D CAN_ERR_PROT_STUFF; + } else if (eflag & HI3110_ERR_CRCERR) { + priv->net->stats.rx_errors++; + if (skb) + cf->data[3] |=3D CAN_ERR_PROT_LOC_CRC_SEQ; + } else if (eflag & HI3110_ERR_ACKERR) { + priv->net->stats.tx_errors++; + if (skb) + cf->data[3] |=3D CAN_ERR_PROT_LOC_ACK; + } + netdev_dbg(priv->net, "Bus Error\n"); - netif_rx(skb); + if (skb) { + cf->data[6] =3D hi3110_read(spi, HI3110_READ_TEC); + cf->data[7] =3D hi3110_read(spi, HI3110_READ_REC); + netif_rx(skb); + } } } =20 --=20 2.43.0 From nobody Sun Feb 8 04:34:38 2026 Received: from mail-lf1-f50.google.com (mail-lf1-f50.google.com [209.85.167.50]) (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 29D0218FC7C for ; Fri, 22 Nov 2024 22:17:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1732313829; cv=none; b=ljapSQOLQau79h14kL4uRt7cfPPx1zRj6iV8gLjFKbDqddx5g1PYxR+QLz5TG/2y1PucIJTeeuJV9yg2qptbpV6aMdCeDDyfh4PzwlS3me9w31iSQVE0x7I4+c5kFp9snb7ASvLNem8s/0KXOl5pdJlWlAvtMzk7TQfuW3mzsB4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1732313829; c=relaxed/simple; bh=aZI6nysz82pEP0emeVa6kVzsEW4+gM9gju+4YJnXy/8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=YkvuA1TnmLFr83K2rHtV93BHBc0hxSy3iCK7hajm0pFgrdN+QjdNCbQU+giwqyQ2hdqIslR9BwnWNpLNilCyCxuXB2bX0YtwsBgSIOvR9cBf2mFxS7OXIFOrJ6tXBzgQZgz1u2fzdzn2/CAblLPFlIpdwWSnve/00lu4rgJxHdo= 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=lBBNAMA8; arc=none smtp.client-ip=209.85.167.50 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="lBBNAMA8" Received: by mail-lf1-f50.google.com with SMTP id 2adb3069b0e04-53b13ea6b78so4728390e87.2 for ; Fri, 22 Nov 2024 14:17:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1732313825; x=1732918625; 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=RlpDyiJR/k7vKSJ97gJNXRm8erHzYQsibasSD5BWwAI=; b=lBBNAMA826kS2z6gmmowxrqiHnksOIYc2O+jiPjTFWkgOdb9EZl+Dc6RmuCjTtn3o7 7vDxWpwjwbwty5GO40i4ot38fHM+XcUCtBLYsENSBpZXXEcMMd/fwNRi6jsYMn5T0Wzq 4+OpEMMgkgWU2/W9kl1d6tTS6h713own8F92k= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732313825; x=1732918625; 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=RlpDyiJR/k7vKSJ97gJNXRm8erHzYQsibasSD5BWwAI=; b=HRIbL+F6peGEhLjqPgFM5wQaI+YImlKRlZxZ+/oMY3irLjoj7cpnOBrdx5zdj8yq0J 8Q3eAMkzKV9+vcnMFYomSg13eggqPw2aN862gmgRDoWZqweyHosYy/aKC6RI4IKOJMZF kuVpQvNmEGkzaIf5tl7nDgfJZyjAo/GR8VnUTb9RnyKmZSyDnA6N/bbsouB45QnF96XL vw0p1kLQ1M6oLgi1cUZay5LK7EtMJwmVMHTfknVYCrBSW5f2XS6snw6EvyxXAU7Ep3ao V8O5hy29RiysN7wKgn0KHI9iXXNzTnU9xLiaMRyTTvr5jiU7xA1pD1g4eQNq0yQADe9k n/UA== X-Gm-Message-State: AOJu0YxO1lPz0OPSOpUNC8W46/ffPHCVs0/mXJoMuu/9SXJgjiujQVEA c57yjXDM/DjrQ09Q2c4yza8CeTujf4NkynR0sxFWs5Kz78OYLs78ce0vvdAeZQ7ivlP5i4XpdKZ W X-Gm-Gg: ASbGncvBnbAA7XEtd8OUM1q9VVbNpwqEHt46Rx2QyskDFa0Fqg4C+oFqEJyaY0eyilQ SuXPXcIavX/Fd4/Tgjq7SYoo06qs6/0hJI1tKBzENeZkk3eaCD6jQTMzkpmfP/QEaB/L8rjKlyd fKmWBEtISdabhMlrfzBVjvm/t3qlaU68nghd/hQ7AsH9m0FsF92umktJ8W4gl2snDEv0UKzLawK vTE4mXWIWK7YYnvwgoTaNiUF7Qbb9TG936u2IawMGb13OmWYJiXHnLXmdrWhZvG0KxweAHrFoS2 Nee8Alm1W31x29hTvvYnZYcDJ8bRG89M4Lpg6bnLdywxAdjN4F8rQaQcSTWhaG9Ucq4T6dgNbHD MWP+TD4P2ECeYCqhG X-Google-Smtp-Source: AGHT+IFM4zz1P0zcbDlpIS0RlDY0cn+D//lyH7aVLQCevJCESOfOR94A0A1KmXqMkwxRcXzDyP6m0w== X-Received: by 2002:a05:6512:304c:b0:53d:da89:a491 with SMTP id 2adb3069b0e04-53dda89a8abmr1706753e87.10.1732313825233; Fri, 22 Nov 2024 14:17:05 -0800 (PST) Received: from dario-ThinkPad-T14s-Gen-2i.homenet.telecomitalia.it (host-82-54-94-193.retail.telecomitalia.it. [82.54.94.193]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-aa50b52fcebsm148226466b.127.2024.11.22.14.17.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Nov 2024 14:17:04 -0800 (PST) From: Dario Binacchi To: linux-kernel@vger.kernel.org Cc: linux-amarula@amarulasolutions.com, Dario Binacchi , "David S. Miller" , Marc Kleine-Budde , Oliver Hartkopp , Vincent Mailhol , Wolfgang Grandegger , linux-can@vger.kernel.org Subject: [PATCH v2 09/12] can: sja1000: fix {rx,tx}_errors statistics Date: Fri, 22 Nov 2024 23:15:50 +0100 Message-ID: <20241122221650.633981-10-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241122221650.633981-1-dario.binacchi@amarulasolutions.com> References: <20241122221650.633981-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 sja1000_err() function only incremented the receive error counter and never the transmit error counter, even if the ECC_DIR flag reported that an error had occurred during transmission. Increment the receive/transmit error counter based on the value of the ECC_DIR flag. Fixes: 429da1cc841b ("can: Driver for the SJA1000 CAN controller") Signed-off-by: Dario Binacchi --- Changes in v2: - Update statistics even if skb allocation fails drivers/net/can/sja1000/sja1000.c | 67 ++++++++++++++++++------------- 1 file changed, 39 insertions(+), 28 deletions(-) diff --git a/drivers/net/can/sja1000/sja1000.c b/drivers/net/can/sja1000/sj= a1000.c index ddb3247948ad..4d245857ef1c 100644 --- a/drivers/net/can/sja1000/sja1000.c +++ b/drivers/net/can/sja1000/sja1000.c @@ -416,8 +416,6 @@ static int sja1000_err(struct net_device *dev, uint8_t = isrc, uint8_t status) int ret =3D 0; =20 skb =3D alloc_can_err_skb(dev, &cf); - if (skb =3D=3D NULL) - return -ENOMEM; =20 txerr =3D priv->read_reg(priv, SJA1000_TXERR); rxerr =3D priv->read_reg(priv, SJA1000_RXERR); @@ -425,8 +423,11 @@ static int sja1000_err(struct net_device *dev, uint8_t= isrc, uint8_t status) if (isrc & IRQ_DOI) { /* data overrun interrupt */ netdev_dbg(dev, "data overrun interrupt\n"); - cf->can_id |=3D CAN_ERR_CRTL; - cf->data[1] =3D CAN_ERR_CRTL_RX_OVERFLOW; + if (skb) { + cf->can_id |=3D CAN_ERR_CRTL; + cf->data[1] =3D CAN_ERR_CRTL_RX_OVERFLOW; + } + stats->rx_over_errors++; stats->rx_errors++; sja1000_write_cmdreg(priv, CMD_CDO); /* clear bit */ @@ -452,7 +453,7 @@ static int sja1000_err(struct net_device *dev, uint8_t = isrc, uint8_t status) else state =3D CAN_STATE_ERROR_ACTIVE; } - if (state !=3D CAN_STATE_BUS_OFF) { + if (state !=3D CAN_STATE_BUS_OFF && skb) { cf->can_id |=3D CAN_ERR_CNT; cf->data[6] =3D txerr; cf->data[7] =3D rxerr; @@ -460,33 +461,38 @@ static int sja1000_err(struct net_device *dev, uint8_= t isrc, uint8_t status) if (isrc & IRQ_BEI) { /* bus error interrupt */ priv->can.can_stats.bus_error++; - stats->rx_errors++; =20 ecc =3D priv->read_reg(priv, SJA1000_ECC); + if (skb) { + cf->can_id |=3D CAN_ERR_PROT | CAN_ERR_BUSERROR; =20 - cf->can_id |=3D CAN_ERR_PROT | CAN_ERR_BUSERROR; - - /* set error type */ - switch (ecc & ECC_MASK) { - case ECC_BIT: - cf->data[2] |=3D CAN_ERR_PROT_BIT; - break; - case ECC_FORM: - cf->data[2] |=3D CAN_ERR_PROT_FORM; - break; - case ECC_STUFF: - cf->data[2] |=3D CAN_ERR_PROT_STUFF; - break; - default: - break; - } + /* set error type */ + switch (ecc & ECC_MASK) { + case ECC_BIT: + cf->data[2] |=3D CAN_ERR_PROT_BIT; + break; + case ECC_FORM: + cf->data[2] |=3D CAN_ERR_PROT_FORM; + break; + case ECC_STUFF: + cf->data[2] |=3D CAN_ERR_PROT_STUFF; + break; + default: + break; + } =20 - /* set error location */ - cf->data[3] =3D ecc & ECC_SEG; + /* set error location */ + cf->data[3] =3D ecc & ECC_SEG; + } =20 /* Error occurred during transmission? */ - if ((ecc & ECC_DIR) =3D=3D 0) - cf->data[2] |=3D CAN_ERR_PROT_TX; + if ((ecc & ECC_DIR) =3D=3D 0) { + stats->tx_errors++; + if (skb) + cf->data[2] |=3D CAN_ERR_PROT_TX; + } else { + stats->rx_errors++; + } } if (isrc & IRQ_EPI) { /* error passive interrupt */ @@ -502,8 +508,10 @@ static int sja1000_err(struct net_device *dev, uint8_t= isrc, uint8_t status) netdev_dbg(dev, "arbitration lost interrupt\n"); alc =3D priv->read_reg(priv, SJA1000_ALC); priv->can.can_stats.arbitration_lost++; - cf->can_id |=3D CAN_ERR_LOSTARB; - cf->data[0] =3D alc & 0x1f; + if (skb) { + cf->can_id |=3D CAN_ERR_LOSTARB; + cf->data[0] =3D alc & 0x1f; + } } =20 if (state !=3D priv->can.state) { @@ -516,6 +524,9 @@ static int sja1000_err(struct net_device *dev, uint8_t = isrc, uint8_t status) can_bus_off(dev); } =20 + if (!skb) + return -ENOMEM; + netif_rx(skb); =20 return ret; --=20 2.43.0 From nobody Sun Feb 8 04:34:38 2026 Received: from mail-ej1-f54.google.com (mail-ej1-f54.google.com [209.85.218.54]) (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 5E74119DF45 for ; Fri, 22 Nov 2024 22:17:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1732313830; cv=none; b=XmNQGN/hsG4/G3n04pvvi/T6YiOa0KYHJjowt09uJPuQXrpDZsLynpPGHFxInwph2H/Fl2zWNDwCDdREIGUatUcGocLTv2Dw6te95l5vIje2Zx7/DyUDgk3nypkj8SHKUmQydVlhnBMSfd4MORXHoB3NEZ7zu11mfGbMArpxr8Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1732313830; c=relaxed/simple; bh=suvkAfBGBjUXa2245JmSbUdEzRQCqXoVi3fUmt5kocQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=PY0xHycZHl82MsVEpie5h3IJ1boyfOK5mcILmvGCvRybHVxcS5ARghG/uEV59a8Vpq1aTpkaO879Erypy34goyiNzvL9N7rPEIETT8H/WVmTaYeqhiWvL/wueTzzbOAj9KBTYsJEQ3qWs50Wl+9BwKKvFI4i/si0K9/zNdr67+A= 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=eOTy88oW; arc=none smtp.client-ip=209.85.218.54 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="eOTy88oW" Received: by mail-ej1-f54.google.com with SMTP id a640c23a62f3a-a9e44654ae3so358183066b.1 for ; Fri, 22 Nov 2024 14:17:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1732313826; x=1732918626; 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=koSu2Qr3uUTmv0FA1/R7W/a8VprfWgcqXI/05k6MgFU=; b=eOTy88oWwRKhGbYe/jJydKcu7IAjIigG/XN0jF/BEKmSgdCCufy9oWQmhOhZZrVXLH EAjXtBZo0r/7v0EuYI3ZhE4MTxsn6uuv/m8om06XKXD5qY7KnNGtSwSChlxyKy6YCd0y 84guymLA14ZlPoQO7YNj9CKpXk0RpniapbbbU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732313826; x=1732918626; 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=koSu2Qr3uUTmv0FA1/R7W/a8VprfWgcqXI/05k6MgFU=; b=RdATh/whb6kToqm8yQjghs5e3VWx7Svddu3HcEQ60+KYKNPMdC//qOHthv77qWtMJZ gZ8v3LJusCjip3Nuy0BVRNQOPhwxJ4mTkF3dXlDstnsqExoI1v4Eihp03BB095fbduPe H4anpID9kKo6gyEZWKfXI7coZSl03pkc7Upvr2zK12CFFB47y2sdRG49uEguJpuz1Ca1 HAAzlC2C9n0zSrYr6ABo+4XnhhukXaGCknm8Z0XkeSJL4H78x/YTEjhk85n2x1KhL2Rd aNF3q49Q+rn0tDb0QEYE3Uf7aSRqsqrLzmysdMcB5hqMauVw1PA1BVBNE5YxFVbWkRL6 vZ+g== X-Gm-Message-State: AOJu0YzomkfoWif9M1da0wLaSypklSYGEeVnMQEPg6aSp4R0kOxxBIOB PoP7nrpLsamVvGbbvW0Blsuv0FC70/lOhg24sFJInqi2MtMIUGY16BTNpxRFiQb9PC/pp531Q5L l X-Gm-Gg: ASbGncsdbH9IcAgN5t4wPsWxCjADitOqmfqEvioBuioJH9NeiEajmVj4AELOrSbs2S2 KOWutAe8HH/HticCLI8+3oZAn2derdQHMitfsQHfTaCyNKQQwnPuCUR41mspShv1HVKSIulONIg j0G/AWROqDYAimCxSlnNyndldD6+TSERkN2qyutqlZISX96tIPHg28PJqCnqMHMLuLt5wm4Dsug yI2TqzN+yzTuLvVoluLUlgdaiHoUwCXmAV6bMO1myxOF+Y4zheRExvnrQM5WDc9nugICrUB6OvT +ddFiiwj1l+oqu+hOGI66GfTPn4PjZVuXBoxeT7Aw6r3amy41bk9mDrprwFXUY5wz4oMf8ATjcv +xx3tteRMj3myqT7z X-Google-Smtp-Source: AGHT+IGzFnZJs4h2n/iV/ioahj7WXElDTwCpUUULB2OBEylU5ouM6Ybr9FJMu/M15S4g4KqefHT26Q== X-Received: by 2002:a17:906:31da:b0:aa5:30c0:384b with SMTP id a640c23a62f3a-aa530c03aecmr47395466b.24.1732313826492; Fri, 22 Nov 2024 14:17:06 -0800 (PST) Received: from dario-ThinkPad-T14s-Gen-2i.homenet.telecomitalia.it (host-82-54-94-193.retail.telecomitalia.it. [82.54.94.193]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-aa50b52fcebsm148226466b.127.2024.11.22.14.17.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Nov 2024 14:17:06 -0800 (PST) From: Dario Binacchi To: linux-kernel@vger.kernel.org Cc: linux-amarula@amarulasolutions.com, Dario Binacchi , Chen-Yu Tsai , Gerhard Bertelsmann , Jernej Skrabec , Marc Kleine-Budde , Maxime Ripard , Samuel Holland , Vincent Mailhol , linux-arm-kernel@lists.infradead.org, linux-can@vger.kernel.org, linux-sunxi@lists.linux.dev Subject: [PATCH v2 10/12] can: sun4i_can: fix {rx,tx}_errors statistics Date: Fri, 22 Nov 2024 23:15:51 +0100 Message-ID: <20241122221650.633981-11-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241122221650.633981-1-dario.binacchi@amarulasolutions.com> References: <20241122221650.633981-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 sun4i_can_err() function only incremented the receive error counter and never the transmit error counter, even if the STA_ERR_DIR flag reported that an error had occurred during transmission. Increment the receive/transmit error counter based on the value of the STA_ERR_DIR flag. Fixes: 0738eff14d81 ("can: Allwinner A10/A20 CAN Controller support - Kerne= l module") Signed-off-by: Dario Binacchi --- Changes in v2: - Update statistics even if skb allocation fails drivers/net/can/sun4i_can.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/net/can/sun4i_can.c b/drivers/net/can/sun4i_can.c index 840b972498c1..5285bb0b7c69 100644 --- a/drivers/net/can/sun4i_can.c +++ b/drivers/net/can/sun4i_can.c @@ -579,7 +579,6 @@ static int sun4i_can_err(struct net_device *dev, u8 isr= c, u8 status) /* bus error interrupt */ netdev_dbg(dev, "bus error interrupt\n"); priv->can.can_stats.bus_error++; - stats->rx_errors++; =20 if (likely(skb)) { ecc =3D readl(priv->base + SUN4I_REG_STA_ADDR); @@ -601,9 +600,15 @@ static int sun4i_can_err(struct net_device *dev, u8 is= rc, u8 status) >> 16; break; } - /* error occurred during transmission? */ - if ((ecc & SUN4I_STA_ERR_DIR) =3D=3D 0) + } + + /* error occurred during transmission? */ + if ((ecc & SUN4I_STA_ERR_DIR) =3D=3D 0) { + if (likely(skb)) cf->data[2] |=3D CAN_ERR_PROT_TX; + stats->tx_errors++; + } else { + stats->rx_errors++; } } if (isrc & SUN4I_INT_ERR_PASSIVE) { --=20 2.43.0 From nobody Sun Feb 8 04:34:38 2026 Received: from mail-lj1-f181.google.com (mail-lj1-f181.google.com [209.85.208.181]) (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 7A6B91DFDAD for ; Fri, 22 Nov 2024 22:17:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.181 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1732313832; cv=none; b=cbZuEhCFcQYjQWXtulow1+F7uMQjaVc4nVr8apRc+we2fMuFpsTqtwTDlcEWttz2qynVJccknP5ApB11ukGyI+SwO30XhPM5wlXNb6Bz7Vm5Ff4M4l3F/PAZIXCda2wiA92HTUHrNW1mzDvogbQHuMB9uzFlNddpC5vsUu+ag/E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1732313832; c=relaxed/simple; bh=g+KZ+ry5q1eHB2f8lrq1UHjK33bU6W/wJPSO8TRzCfQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=N16p609Zw2T+lRfJDRqaMW9ZADn+YaUsq4sEsqcHYJp/Ga96GS4P/VFg5NtynUazGuELeSriXq+4mKU8+Ik8cau+JtHVVDjoDdF1aJalHBLM26umx40OQGuf4FekHz6Oxwn0diYdkJWpqfZ7y4cGLno8CJv8vFWmlyfZweBVDXE= 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=Nkk8U3pL; arc=none smtp.client-ip=209.85.208.181 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="Nkk8U3pL" Received: by mail-lj1-f181.google.com with SMTP id 38308e7fff4ca-2fb51e00c05so45996431fa.0 for ; Fri, 22 Nov 2024 14:17:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1732313828; x=1732918628; 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=zeHUsvNMH4naO2lNY0rPoAp0glNUJp2xtRk2ah0U1WQ=; b=Nkk8U3pL2ZODtjNeyIgevRNEO70N9eFjwCKc8MqwrWSCwjy6Ep9mux5NrXE4bKgoXR lIXddL9p4OvpdXOdDR4Mpl1nkGZRQ/YYqqW5dbzMCAMpO+SAvm5LIlyk/Z5EaKMkt18X 6LWdzfKuUOtgn7QCX6Lc5sMnbrmFDJi7D2fDE= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732313828; x=1732918628; 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=zeHUsvNMH4naO2lNY0rPoAp0glNUJp2xtRk2ah0U1WQ=; b=NvcDk0a21ZCo8U6eG8eEkM9MZqnPmE29CHnGtcJQCMOYAwBr7LUN1jZav31QwkqP6D GW4lorLvHGPu4VRas8W7nvFrGyKFmUoQFqH3zzE5NJDzR6GmrxnXLa8luc7YJFXWXh+G ZrFowJYRKuCrpE7OT1xd/AmedW+lW/I/aOF53LR2DsG5PrXXHY9al5oAboXtB5GGQ75t aubzyO6aHMiYdQsMqW3OZfmiEkREFIhy5Gm7QuToC3tQ1nyvQ9SpGoTCgOZTcI2ng0vv ByVcRMdo8+EqEmsCCk3eP7He6FtyTQSbDChADly9J0AVs0fwxTWLrHYiElFV46eZjZ8R fJqg== X-Gm-Message-State: AOJu0Ywk6kyVw2luxpw9wWruEevBl1ExkA2ve/jZx5iOt8NZEu5s2lC8 rH7GVoNgzu7XSO7PyUd9D68OwncYHDkWnmOp+sgo6FGjoGZi8P+4fHGJKqHYHaxUrAspNeuW4FR d X-Gm-Gg: ASbGncsP5CgX3PdrZ8b4rJdOWZtrdh38NbZYwHpqPPKQM0eBM/OZI4xKXtctu6EaTD3 F/8ZiUupSnc5yW80k321/j7H2bYkE71VWAaHgTe5MG6coYSl12ffN4xdwmRuQoOnK6YcBjAgz2n OarJzoSMxQK556ilqxsQLJYrOdFx+xz4i6yw4X5+tQUthRAMcTMSYkQ3fzoOHBEB87P4zBT0EXe t8o3hG6yHCD08RqHAM2ro+ncxXa2S0TAKoW5xSv+4rFwMutkzYnkBaFhMZeLXqb9OePEIbV9ein gd6Wjhn6QGBxRTsMxyueGoijRkPI0KvLwjGPRFAo8I/NlXmbBv5ijj2LQUj9lRMP8MqM1OHnKXa cuZPQQg/bwJoI133u X-Google-Smtp-Source: AGHT+IEeFI0foJ6eMpkRjwKJ8WGldp4YObFth65iZk3Vn0s08/RYBKCV/cARJA+mH4yYzwEk4Lk/IA== X-Received: by 2002:a2e:a58b:0:b0:2fb:36df:3b4 with SMTP id 38308e7fff4ca-2ffa7187eb1mr50418561fa.34.1732313828318; Fri, 22 Nov 2024 14:17:08 -0800 (PST) Received: from dario-ThinkPad-T14s-Gen-2i.homenet.telecomitalia.it (host-82-54-94-193.retail.telecomitalia.it. [82.54.94.193]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-aa50b52fcebsm148226466b.127.2024.11.22.14.17.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Nov 2024 14:17:08 -0800 (PST) From: Dario Binacchi To: linux-kernel@vger.kernel.org Cc: linux-amarula@amarulasolutions.com, Dario Binacchi , "David S. Miller" , Marc Kleine-Budde , Sebastian Haas , Vincent Mailhol , Wolfgang Grandegger , linux-can@vger.kernel.org Subject: [PATCH v2 11/12] can: ems_usb: fix {rx,tx}_errors statistics Date: Fri, 22 Nov 2024 23:15:52 +0100 Message-ID: <20241122221650.633981-12-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241122221650.633981-1-dario.binacchi@amarulasolutions.com> References: <20241122221650.633981-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 ems_usb_rx_err() function only incremented the receive error counter and never the transmit error counter, even if the ECC_DIR flag reported that an error had occurred during transmission. Increment the receive/transmit error counter based on the value of the ECC_DIR flag. Fixes: 702171adeed3 ("ems_usb: Added support for EMS CPC-USB/ARM7 CAN/USB i= nterface") Signed-off-by: Dario Binacchi --- Changes in v2: - Update statistics even if skb allocation fails drivers/net/can/usb/ems_usb.c | 58 ++++++++++++++++++++--------------- 1 file changed, 33 insertions(+), 25 deletions(-) diff --git a/drivers/net/can/usb/ems_usb.c b/drivers/net/can/usb/ems_usb.c index 050c0b49938a..5355bac4dccb 100644 --- a/drivers/net/can/usb/ems_usb.c +++ b/drivers/net/can/usb/ems_usb.c @@ -335,15 +335,14 @@ static void ems_usb_rx_err(struct ems_usb *dev, struc= t ems_cpc_msg *msg) struct net_device_stats *stats =3D &dev->netdev->stats; =20 skb =3D alloc_can_err_skb(dev->netdev, &cf); - if (skb =3D=3D NULL) - return; =20 if (msg->type =3D=3D CPC_MSG_TYPE_CAN_STATE) { u8 state =3D msg->msg.can_state; =20 if (state & SJA1000_SR_BS) { dev->can.state =3D CAN_STATE_BUS_OFF; - cf->can_id |=3D CAN_ERR_BUSOFF; + if (skb) + cf->can_id |=3D CAN_ERR_BUSOFF; =20 dev->can.can_stats.bus_off++; can_bus_off(dev->netdev); @@ -361,44 +360,53 @@ static void ems_usb_rx_err(struct ems_usb *dev, struc= t ems_cpc_msg *msg) =20 /* bus error interrupt */ dev->can.can_stats.bus_error++; - stats->rx_errors++; =20 - cf->can_id |=3D CAN_ERR_PROT | CAN_ERR_BUSERROR; + if (skb) { + cf->can_id |=3D CAN_ERR_PROT | CAN_ERR_BUSERROR; =20 - switch (ecc & SJA1000_ECC_MASK) { - case SJA1000_ECC_BIT: - cf->data[2] |=3D CAN_ERR_PROT_BIT; - break; - case SJA1000_ECC_FORM: - cf->data[2] |=3D CAN_ERR_PROT_FORM; - break; - case SJA1000_ECC_STUFF: - cf->data[2] |=3D CAN_ERR_PROT_STUFF; - break; - default: - cf->data[3] =3D ecc & SJA1000_ECC_SEG; - break; + switch (ecc & SJA1000_ECC_MASK) { + case SJA1000_ECC_BIT: + cf->data[2] |=3D CAN_ERR_PROT_BIT; + break; + case SJA1000_ECC_FORM: + cf->data[2] |=3D CAN_ERR_PROT_FORM; + break; + case SJA1000_ECC_STUFF: + cf->data[2] |=3D CAN_ERR_PROT_STUFF; + break; + default: + cf->data[3] =3D ecc & SJA1000_ECC_SEG; + break; + } } =20 /* Error occurred during transmission? */ - if ((ecc & SJA1000_ECC_DIR) =3D=3D 0) - cf->data[2] |=3D CAN_ERR_PROT_TX; + if ((ecc & SJA1000_ECC_DIR) =3D=3D 0) { + stats->tx_errors++; + if (skb) + cf->data[2] |=3D CAN_ERR_PROT_TX; + } else { + stats->rx_errors++; + } =20 - if (dev->can.state =3D=3D CAN_STATE_ERROR_WARNING || - dev->can.state =3D=3D CAN_STATE_ERROR_PASSIVE) { + if (skb && (dev->can.state =3D=3D CAN_STATE_ERROR_WARNING || + dev->can.state =3D=3D CAN_STATE_ERROR_PASSIVE)) { cf->can_id |=3D CAN_ERR_CRTL; cf->data[1] =3D (txerr > rxerr) ? CAN_ERR_CRTL_TX_PASSIVE : CAN_ERR_CRTL_RX_PASSIVE; } } else if (msg->type =3D=3D CPC_MSG_TYPE_OVERRUN) { - cf->can_id |=3D CAN_ERR_CRTL; - cf->data[1] =3D CAN_ERR_CRTL_RX_OVERFLOW; + if (skb) { + cf->can_id |=3D CAN_ERR_CRTL; + cf->data[1] =3D CAN_ERR_CRTL_RX_OVERFLOW; + } =20 stats->rx_over_errors++; stats->rx_errors++; } =20 - netif_rx(skb); + if (skb) + netif_rx(skb); } =20 /* --=20 2.43.0 From nobody Sun Feb 8 04:34:38 2026 Received: from mail-lf1-f49.google.com (mail-lf1-f49.google.com [209.85.167.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 4431F1E0087 for ; Fri, 22 Nov 2024 22:17:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1732313832; cv=none; b=qFYRzV0FRH8XXemu9Kp5Pct9o8fz0WxkMs5erjamJFt7hjxzHLmzrUlBt7iS92E5zXDWcTPGPoUBai6stELPyUEd2CkQATqMKTglhEfr/Fv1gU9Gm68gHJqexRW0QoWnI905wb19xpXlPpLzg9r4OMWvA0Bi3ao5m3QU7a+ZLnE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1732313832; c=relaxed/simple; bh=UIfE/i9uNl2q+Mi+kE8Q7UwUe7PKkReqlrcUvsBIvQg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=jjfWqxWDO1p2OFfhHPjkG3Q+vdvMUJGvCdRYTOO8bgd1Tk2lUX05J1InPDWxixRf4ZaTVP0UaWo6SZTeIWm8UMbLrPNPl6FGqxneVKm0POOiirYdOtfLMcEM3REjhPVkIdFP4oDojrBfFVrvxLAXbSOXIpz+rc+7r6RIUYKDDC0= 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=aBwHWpdB; arc=none smtp.client-ip=209.85.167.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="aBwHWpdB" Received: by mail-lf1-f49.google.com with SMTP id 2adb3069b0e04-53d9ff92ee9so3096755e87.1 for ; Fri, 22 Nov 2024 14:17:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1732313829; x=1732918629; 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=sIjLTiSdjHPZdtn456NOY4iL8rLUfrRnErOspsYBZzw=; b=aBwHWpdBYtOMzrVwIkcQU/deEsfrwLJVBYkTWRzhekbIQ0QvtOK+ZtBgEzkeW9521y fRJPF1n9Avbc3VXYXDNuDMMELY2bPSwgDYoGUxr7Wvz++vYndKJcKhbRS7Pksu9cp5CO 0aaRgIsbvQEZutrle1DH36U+MIMwgh3c1tyB0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732313829; x=1732918629; 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=sIjLTiSdjHPZdtn456NOY4iL8rLUfrRnErOspsYBZzw=; b=jkYs3hQ+VsvbtYagEASuKpJ4kpOs4vzRyNGGgTiUtg/foLVFILp7KgVzf0zfvvaXN0 nu5YhGRMYTExLhHTYeDSZ02qtyppgIedZ3clzjbtWG2R3ffoKs9Aa7ziVoK8mzIIA2Sv wTBRDMhoURVgvwEP4iLrFhT90vUYWJehc++wl/ccTK5G1Zbiu57EguNfp2u16xbbC+XR wHXu6b71mKf+GhZB8cpewHIa4NNWuS4ofhBAkK0jsJOF17Y/q2jUYM8WNF3XgZX4RoZM t2GrzUuZt+RfW/Mi9+P9TnmKUVwpN16HySM2VvA+UZ6u/qtXDIPWP7lSMZpOYHuKJf9N AdRA== X-Gm-Message-State: AOJu0YyKQhQ1KGbeRddS639ovwN0wybl5nh0GB1Q1pxHWrpp/rdc/nBb 69GNnHvwvwAyvW/HlPUoJ174r8LH0SqjRI2+zjORPIYJl8RvMQwjCd6dAFStnQDVWTX+y0vy89F S X-Gm-Gg: ASbGncvZqgfmh8Qkf13dapKelWIyIgK+x7w3TDksRsR+aum0LOhc8hcyLpppQNmrNTk 3H96MvNE1/WGnsELZu1FpjuYdKw6BkodVat99D+KrCrDvqg7KS5296Fa9PWK1RUlFc3o/ku0XKV 7FPPGV452DDZRblwT5xRHv9PkjzPV/xtWlkV7FJtyuKdIXLs/PjBWqFX8+2OB44mGNMZpSQqt6C lDi9Tbl1e3LKIBgpYuWpFN6+UMSyT+fegktmxc6UhjwaPA2v7J97qxZYCJtCN2FtjsU/wTDrnY1 7hoea6Ya/8spKeAF9XsjiDcsL2b0ILPZ7sQEHyXB/8xt6bVQ3G3IdCaaVtZhSlUOU9AjbJ1+VfT GOoGnTTGzdlZ7vBRv X-Google-Smtp-Source: AGHT+IFzF09O/6bEbltd8l52ut4lZtd8WfeN0mrpAjDZSWj2O9HkQlqmxkwqoiHxqAM9cuMjAuwfqg== X-Received: by 2002:ac2:51b5:0:b0:53d:d3ff:77f6 with SMTP id 2adb3069b0e04-53dd3ff77fdmr2299001e87.46.1732313829337; Fri, 22 Nov 2024 14:17:09 -0800 (PST) Received: from dario-ThinkPad-T14s-Gen-2i.homenet.telecomitalia.it (host-82-54-94-193.retail.telecomitalia.it. [82.54.94.193]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-aa50b52fcebsm148226466b.127.2024.11.22.14.17.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Nov 2024 14:17:09 -0800 (PST) From: Dario Binacchi To: linux-kernel@vger.kernel.org Cc: linux-amarula@amarulasolutions.com, Dario Binacchi , "Ji-Ze Hong (Peter Hong)" , Marc Kleine-Budde , Vincent Mailhol , linux-can@vger.kernel.org Subject: [PATCH v2 12/12] can: f81604: fix {rx,tx}_errors statistics Date: Fri, 22 Nov 2024 23:15:53 +0100 Message-ID: <20241122221650.633981-13-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241122221650.633981-1-dario.binacchi@amarulasolutions.com> References: <20241122221650.633981-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 f81604_handle_can_bus_errors() function only incremented the receive error counter and never the transmit error counter, even if the ECC_DIR flag reported that an error had occurred during transmission. Increment the receive/transmit error counter based on the value of the ECC_DIR flag. Fixes: 88da17436973 ("can: usb: f81604: add Fintek F81604 support") Signed-off-by: Dario Binacchi --- Changes in v2: - Fix patches 7 through 12 to ensure that statistics are updated even if the allocation of skb fails. - Add five new patches (i. e. 1-5), created during the further analysis of the code while correcting patches from the v1 series (i. e. 7-12). - Update statistics even if skb allocation fails drivers/net/can/usb/f81604.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/net/can/usb/f81604.c b/drivers/net/can/usb/f81604.c index bc0c8903fe77..e0cfa1460b0b 100644 --- a/drivers/net/can/usb/f81604.c +++ b/drivers/net/can/usb/f81604.c @@ -526,7 +526,6 @@ static void f81604_handle_can_bus_errors(struct f81604_= port_priv *priv, netdev_dbg(netdev, "bus error interrupt\n"); =20 priv->can.can_stats.bus_error++; - stats->rx_errors++; =20 if (skb) { cf->can_id |=3D CAN_ERR_PROT | CAN_ERR_BUSERROR; @@ -548,10 +547,15 @@ static void f81604_handle_can_bus_errors(struct f8160= 4_port_priv *priv, =20 /* set error location */ cf->data[3] =3D data->ecc & F81604_SJA1000_ECC_SEG; + } =20 - /* Error occurred during transmission? */ - if ((data->ecc & F81604_SJA1000_ECC_DIR) =3D=3D 0) + /* Error occurred during transmission? */ + if ((data->ecc & F81604_SJA1000_ECC_DIR) =3D=3D 0) { + stats->tx_errors++; + if (skb) cf->data[2] |=3D CAN_ERR_PROT_TX; + } else { + stats->rx_errors++; } =20 set_bit(F81604_CLEAR_ECC, &priv->clear_flags); --=20 2.43.0