Received: by 2002:a05:7412:d1aa:b0:fc:a2b0:25d7 with SMTP id ba42csp1810383rdb; Wed, 31 Jan 2024 09:39:22 -0800 (PST) X-Google-Smtp-Source: AGHT+IGl0rUTZEARuZCB2f4zPzRIJrmiGICv4RU1XrnpYFzG0e679NJemnmHj9WVz7CLM1dpE+ii X-Received: by 2002:a17:902:ec81:b0:1d8:f6cc:709d with SMTP id x1-20020a170902ec8100b001d8f6cc709dmr1659554plg.54.1706722762444; Wed, 31 Jan 2024 09:39:22 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1706722762; cv=pass; d=google.com; s=arc-20160816; b=GSNKV7wthUgFBhIqNxwyHLNEmILxfl3F7rIWlk52TKqHDiQ9m/OpfomkRddmKD7uyY PMPgu/AXGnM/CAVeSrvuJr1z0H8VNfV2MFO5e3bG3D2T4TE5BvqSs3mq6c/D/kTQlTRA QO8DquHpOziwIZ5lPUVFaMwS/Pxm0x/eNfGpJEbQSY4eDGuEvC7R9EtEnT8K+V37xpk5 wTmDCOxbOdIDOL+qwEB2fe/dM+N1unbIw+YJD4KNh1yEleAaB+7hvFSUhLjit3oqs7E8 v/BojqYwPCUID8nCa6c99E4lYBR/BNg55S8gMZ5sX3Y3wMv81Hkt7BkRDmjRHumQR3/M 7t0A== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from; bh=n/9orxaBsjBurGM1KlERWMW0UeB72CWDLR6d+4npC6s=; fh=Oc2I0Ylmi3oiXhpq85hF2QZ0kjvVC6JFvYmUuq4Yez4=; b=rv3K1jtocL0VaDEfZJv5ngVqG06y8pP7j5RM0WI6SVjm0CkDzv88tvnBgF9eruV6Wd ZmV6duUPED10EFdLRX0JVgv6G1vKE56lUshnoFVg3CY2YIJN77HzdLVsq/jbe7fG+reX cVIamZdUuQE7Z2VSomgOlK/42itcRDlk7u9zlXC9MhSwsFAQrkcOUMWXR87+jTAofJ+I 9rDznUoiijWhhMGtJ+hqPBssRUv+QqDcwwCsrjSnFM5Dj3wEiucdMKGWVvv2MgalmebR 2rpn42466OYE6MzHSl7w4mt/3O3x/HiRtsJupiOrH4PTmUBFWoZOhVD50TZuR9jUW8nO Kyfw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1 spf=pass spfdomain=bp.renesas.com dmarc=pass fromdomain=bp.renesas.com); spf=pass (google.com: domain of linux-kernel+bounces-46867-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-46867-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=renesas.com X-Forwarded-Encrypted: i=1; AJvYcCWsBgSU9pf6pwovh+mngmt431n74fEJ723HEfdIx3HmGksSj8bjfvALpLh3BqsjfN5RK5pvGwgkKXN3zIWFTZOEKAm16NN1ixhH7u4XRw== Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [2604:1380:40f1:3f00::1]) by mx.google.com with ESMTPS id j7-20020a17090276c700b001d91b62d9d4si2783517plt.582.2024.01.31.09.39.21 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 Jan 2024 09:39:22 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-46867-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) client-ip=2604:1380:40f1:3f00::1; Authentication-Results: mx.google.com; arc=pass (i=1 spf=pass spfdomain=bp.renesas.com dmarc=pass fromdomain=bp.renesas.com); spf=pass (google.com: domain of linux-kernel+bounces-46867-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-46867-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=renesas.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id 4634EB3209E for ; Wed, 31 Jan 2024 17:08:06 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 11BD6134738; Wed, 31 Jan 2024 17:06:10 +0000 (UTC) Received: from relmlie5.idc.renesas.com (relmlor1.renesas.com [210.160.252.171]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 7CF3812C539; Wed, 31 Jan 2024 17:06:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=210.160.252.171 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706720769; cv=none; b=RDjnVz2Wp9veKKl4VKxk2stvSAZZvTeUH0LZ4/T7GtsLw5Ac8aC7AsvW6yXYqVEnS/ka4dmwNwHT5bsadEBou4H7royPkzfk1AclZyHhsIK5OoX0kwKvVbZCHgMViIMp2spLfPnqlRRLfK4loOqynktoW/dFfNaIYsPmlmTs/9U= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706720769; c=relaxed/simple; bh=jDaoRchUeMb3jhh/QTDuC4oc5ie9+ahUDA1P+pGYTO4=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=ev/IOwYXBWa8RCPTcDXaiHxVuQoTTuBka22JMTiHtAHCM+PEM5rKwK92tfoTY1xcpvFLMeLF4VFJD5BeQxq9STvxUrQCYX0ajLc8WSPvbaYLidRl9oHwmvl1waVxfYBEFD1jcUvZyTpe4DkhnUaM0Hjl/bTCpSdfWpUcZE8Dtt8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com; spf=pass smtp.mailfrom=bp.renesas.com; arc=none smtp.client-ip=210.160.252.171 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com X-IronPort-AV: E=Sophos;i="6.05,231,1701097200"; d="scan'208";a="192404892" Received: from unknown (HELO relmlir6.idc.renesas.com) ([10.200.68.152]) by relmlie5.idc.renesas.com with ESMTP; 01 Feb 2024 02:06:07 +0900 Received: from GBR-5CG2373LKG.adwin.renesas.com (unknown [10.226.92.158]) by relmlir6.idc.renesas.com (Postfix) with ESMTP id A1E50403490C; Thu, 1 Feb 2024 02:06:03 +0900 (JST) From: Paul Barker To: Sergey Shtylyov , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni Cc: Paul Barker , Yoshihiro Shimoda , Wolfram Sang , netdev@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH net-next 5/8] net: ravb: Always update error counters Date: Wed, 31 Jan 2024 17:05:19 +0000 Message-Id: <20240131170523.30048-6-paul.barker.ct@bp.renesas.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240131170523.30048-1-paul.barker.ct@bp.renesas.com> References: <20240131170523.30048-1-paul.barker.ct@bp.renesas.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit The error statistics should be updated each time the poll function is called, even if the full RX work budget has been consumed. This prevents the counts from becoming stuck when RX bandwidth usage is high. This also ensures that error counters are not updated after we've re-enabled interrupts as that could result in a race condition. Also drop an unnecessary space. Signed-off-by: Paul Barker --- drivers/net/ethernet/renesas/ravb_main.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/drivers/net/ethernet/renesas/ravb_main.c b/drivers/net/ethernet/renesas/ravb_main.c index 9b0ed269e69b..a90e70b25875 100644 --- a/drivers/net/ethernet/renesas/ravb_main.c +++ b/drivers/net/ethernet/renesas/ravb_main.c @@ -1354,6 +1354,15 @@ static int ravb_poll_gbeth(struct napi_struct *napi, int budget) netif_wake_subqueue(ndev, q); spin_unlock_irqrestore(&priv->lock, flags); + /* Receive error message handling */ + priv->rx_over_errors = priv->stats[RAVB_BE].rx_over_errors; + if (info->nc_queues) + priv->rx_over_errors += priv->stats[RAVB_NC].rx_over_errors; + if (priv->rx_over_errors != ndev->stats.rx_over_errors) + ndev->stats.rx_over_errors = priv->rx_over_errors; + if (priv->rx_fifo_errors != ndev->stats.rx_fifo_errors) + ndev->stats.rx_fifo_errors = priv->rx_fifo_errors; + if (work_done == budget) goto out; @@ -1370,14 +1379,6 @@ static int ravb_poll_gbeth(struct napi_struct *napi, int budget) } spin_unlock_irqrestore(&priv->lock, flags); - /* Receive error message handling */ - priv->rx_over_errors = priv->stats[RAVB_BE].rx_over_errors; - if (info->nc_queues) - priv->rx_over_errors += priv->stats[RAVB_NC].rx_over_errors; - if (priv->rx_over_errors != ndev->stats.rx_over_errors) - ndev->stats.rx_over_errors = priv->rx_over_errors; - if (priv->rx_fifo_errors != ndev->stats.rx_fifo_errors) - ndev->stats.rx_fifo_errors = priv->rx_fifo_errors; out: return work_done; } -- 2.39.2