aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/bnx2.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/bnx2.c')
-rw-r--r--drivers/net/bnx2.c25
1 files changed, 7 insertions, 18 deletions
diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c
index 22fa1e941247..a203f39e2b8c 100644
--- a/drivers/net/bnx2.c
+++ b/drivers/net/bnx2.c
@@ -6589,36 +6589,25 @@ bnx2_save_stats(struct bnx2 *bp)
6589 temp_stats[i] += hw_stats[i]; 6589 temp_stats[i] += hw_stats[i];
6590} 6590}
6591 6591
6592#define GET_64BIT_NET_STATS64(ctr) \ 6592#define GET_64BIT_NET_STATS64(ctr) \
6593 (unsigned long) ((unsigned long) (ctr##_hi) << 32) + \ 6593 (((u64) (ctr##_hi) << 32) + (u64) (ctr##_lo))
6594 (unsigned long) (ctr##_lo)
6595 6594
6596#define GET_64BIT_NET_STATS32(ctr) \
6597 (ctr##_lo)
6598
6599#if (BITS_PER_LONG == 64)
6600#define GET_64BIT_NET_STATS(ctr) \ 6595#define GET_64BIT_NET_STATS(ctr) \
6601 GET_64BIT_NET_STATS64(bp->stats_blk->ctr) + \ 6596 GET_64BIT_NET_STATS64(bp->stats_blk->ctr) + \
6602 GET_64BIT_NET_STATS64(bp->temp_stats_blk->ctr) 6597 GET_64BIT_NET_STATS64(bp->temp_stats_blk->ctr)
6603#else
6604#define GET_64BIT_NET_STATS(ctr) \
6605 GET_64BIT_NET_STATS32(bp->stats_blk->ctr) + \
6606 GET_64BIT_NET_STATS32(bp->temp_stats_blk->ctr)
6607#endif
6608 6598
6609#define GET_32BIT_NET_STATS(ctr) \ 6599#define GET_32BIT_NET_STATS(ctr) \
6610 (unsigned long) (bp->stats_blk->ctr + \ 6600 (unsigned long) (bp->stats_blk->ctr + \
6611 bp->temp_stats_blk->ctr) 6601 bp->temp_stats_blk->ctr)
6612 6602
6613static struct net_device_stats * 6603static struct rtnl_link_stats64 *
6614bnx2_get_stats(struct net_device *dev) 6604bnx2_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *net_stats)
6615{ 6605{
6616 struct bnx2 *bp = netdev_priv(dev); 6606 struct bnx2 *bp = netdev_priv(dev);
6617 struct net_device_stats *net_stats = &dev->stats;
6618 6607
6619 if (bp->stats_blk == NULL) { 6608 if (bp->stats_blk == NULL)
6620 return net_stats; 6609 return net_stats;
6621 } 6610
6622 net_stats->rx_packets = 6611 net_stats->rx_packets =
6623 GET_64BIT_NET_STATS(stat_IfHCInUcastPkts) + 6612 GET_64BIT_NET_STATS(stat_IfHCInUcastPkts) +
6624 GET_64BIT_NET_STATS(stat_IfHCInMulticastPkts) + 6613 GET_64BIT_NET_STATS(stat_IfHCInMulticastPkts) +
@@ -8289,7 +8278,7 @@ static const struct net_device_ops bnx2_netdev_ops = {
8289 .ndo_open = bnx2_open, 8278 .ndo_open = bnx2_open,
8290 .ndo_start_xmit = bnx2_start_xmit, 8279 .ndo_start_xmit = bnx2_start_xmit,
8291 .ndo_stop = bnx2_close, 8280 .ndo_stop = bnx2_close,
8292 .ndo_get_stats = bnx2_get_stats, 8281 .ndo_get_stats64 = bnx2_get_stats64,
8293 .ndo_set_rx_mode = bnx2_set_rx_mode, 8282 .ndo_set_rx_mode = bnx2_set_rx_mode,
8294 .ndo_do_ioctl = bnx2_ioctl, 8283 .ndo_do_ioctl = bnx2_ioctl,
8295 .ndo_validate_addr = eth_validate_addr, 8284 .ndo_validate_addr = eth_validate_addr,