[tip:core/locking] bnx2x: small fix in stats handling

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

 



Commit-ID:  c6a056a349d10a6e879ca1be6067873b6feed259
Gitweb:     http://git.kernel.org/tip/c6a056a349d10a6e879ca1be6067873b6feed259
Author:     Eric Dumazet <eric.dumazet@xxxxxxxxx>
AuthorDate: Mon, 23 Aug 2010 19:44:08 +0000
Committer:  David S. Miller <davem@xxxxxxxxxxxxx>
CommitDate: Wed, 25 Aug 2010 16:29:21 -0700

bnx2x: small fix in stats handling

Use a private variable to fold rx_dropped value, instead of shared
destination buffer, as it might break SNMP applications.

Signed-off-by: Eric Dumazet <eric.dumazet@xxxxxxxxx>
CC: Eilon Greenstein <eilong@xxxxxxxxxxxx>
CC: Dmitry Kravkov <dmitry@xxxxxxxxxxxx>
Acked-By: Eilon Greenstein <eilong@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
---
 drivers/net/bnx2x/bnx2x_stats.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/net/bnx2x/bnx2x_stats.c b/drivers/net/bnx2x/bnx2x_stats.c
index c747244..efa1403 100644
--- a/drivers/net/bnx2x/bnx2x_stats.c
+++ b/drivers/net/bnx2x/bnx2x_stats.c
@@ -969,6 +969,7 @@ static void bnx2x_net_stats_update(struct bnx2x *bp)
 {
 	struct bnx2x_eth_stats *estats = &bp->eth_stats;
 	struct net_device_stats *nstats = &bp->dev->stats;
+	unsigned long tmp;
 	int i;
 
 	nstats->rx_packets =
@@ -985,10 +986,10 @@ static void bnx2x_net_stats_update(struct bnx2x *bp)
 
 	nstats->tx_bytes = bnx2x_hilo(&estats->total_bytes_transmitted_hi);
 
-	nstats->rx_dropped = estats->mac_discard;
+	tmp = estats->mac_discard;
 	for_each_queue(bp, i)
-		nstats->rx_dropped +=
-			le32_to_cpu(bp->fp[i].old_tclient.checksum_discard);
+		tmp += le32_to_cpu(bp->fp[i].old_tclient.checksum_discard);
+	nstats->rx_dropped = tmp;
 
 	nstats->tx_dropped = 0;
 
--
To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Stable Commits]     [Linux Stable Kernel]     [Linux Kernel]     [Linux USB Devel]     [Linux Video &Media]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux