aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorDmitry Kravkov <dmitry@broadcom.com>2010-10-05 23:35:03 -0400
committerDavid S. Miller <davem@davemloft.net>2010-10-06 17:10:41 -0400
commit6fe8bce7b3b69835e8049106947db6b0f1f3a8d8 (patch)
treef56ad87af5d164a5c9beabaf65caa88f5c437154 /drivers
parentf85582f8c48addd8166727ef692d88b0ff618c5e (diff)
bnx2x: properly initialize FW stats
Client statistics need to be initialized to -1 Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com> Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/bnx2x/bnx2x_stats.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/net/bnx2x/bnx2x_stats.c b/drivers/net/bnx2x/bnx2x_stats.c
index 5644bddb3d19..4733c835dad9 100644
--- a/drivers/net/bnx2x/bnx2x_stats.c
+++ b/drivers/net/bnx2x/bnx2x_stats.c
@@ -1339,6 +1339,7 @@ void bnx2x_stats_init(struct bnx2x *bp)
1339 int port = BP_PORT(bp); 1339 int port = BP_PORT(bp);
1340 int mb_idx = BP_FW_MB_IDX(bp); 1340 int mb_idx = BP_FW_MB_IDX(bp);
1341 int i; 1341 int i;
1342 struct eth_stats_query *stats = bnx2x_sp(bp, fw_stats);
1342 1343
1343 bp->stats_pending = 0; 1344 bp->stats_pending = 0;
1344 bp->executer_idx = 0; 1345 bp->executer_idx = 0;
@@ -1380,6 +1381,18 @@ void bnx2x_stats_init(struct bnx2x *bp)
1380 memset(&fp->eth_q_stats, 0, sizeof(struct bnx2x_eth_q_stats)); 1381 memset(&fp->eth_q_stats, 0, sizeof(struct bnx2x_eth_q_stats));
1381 } 1382 }
1382 1383
1384 for_each_queue(bp, i) {
1385 /* Set initial stats counter in the stats ramrod data to -1 */
1386 int cl_id = bp->fp[i].cl_id;
1387
1388 stats->xstorm_common.client_statistics[cl_id].
1389 stats_counter = 0xffff;
1390 stats->ustorm_common.client_statistics[cl_id].
1391 stats_counter = 0xffff;
1392 stats->tstorm_common.client_statistics[cl_id].
1393 stats_counter = 0xffff;
1394 }
1395
1383 memset(&bp->dev->stats, 0, sizeof(struct net_device_stats)); 1396 memset(&bp->dev->stats, 0, sizeof(struct net_device_stats));
1384 memset(&bp->eth_stats, 0, sizeof(struct bnx2x_eth_stats)); 1397 memset(&bp->eth_stats, 0, sizeof(struct bnx2x_eth_stats));
1385 1398