|
@@ -6249,9 +6249,10 @@ static void niu_sync_mac_stats(struct niu *np)
|
|
|
niu_sync_bmac_stats(np);
|
|
|
}
|
|
|
|
|
|
-static void niu_get_rx_stats(struct niu *np)
|
|
|
+static void niu_get_rx_stats(struct niu *np,
|
|
|
+ struct rtnl_link_stats64 *stats)
|
|
|
{
|
|
|
- unsigned long pkts, dropped, errors, bytes;
|
|
|
+ u64 pkts, dropped, errors, bytes;
|
|
|
struct rx_ring_info *rx_rings;
|
|
|
int i;
|
|
|
|
|
@@ -6273,15 +6274,16 @@ static void niu_get_rx_stats(struct niu *np)
|
|
|
}
|
|
|
|
|
|
no_rings:
|
|
|
- np->dev->stats.rx_packets = pkts;
|
|
|
- np->dev->stats.rx_bytes = bytes;
|
|
|
- np->dev->stats.rx_dropped = dropped;
|
|
|
- np->dev->stats.rx_errors = errors;
|
|
|
+ stats->rx_packets = pkts;
|
|
|
+ stats->rx_bytes = bytes;
|
|
|
+ stats->rx_dropped = dropped;
|
|
|
+ stats->rx_errors = errors;
|
|
|
}
|
|
|
|
|
|
-static void niu_get_tx_stats(struct niu *np)
|
|
|
+static void niu_get_tx_stats(struct niu *np,
|
|
|
+ struct rtnl_link_stats64 *stats)
|
|
|
{
|
|
|
- unsigned long pkts, errors, bytes;
|
|
|
+ u64 pkts, errors, bytes;
|
|
|
struct tx_ring_info *tx_rings;
|
|
|
int i;
|
|
|
|
|
@@ -6300,20 +6302,22 @@ static void niu_get_tx_stats(struct niu *np)
|
|
|
}
|
|
|
|
|
|
no_rings:
|
|
|
- np->dev->stats.tx_packets = pkts;
|
|
|
- np->dev->stats.tx_bytes = bytes;
|
|
|
- np->dev->stats.tx_errors = errors;
|
|
|
+ stats->tx_packets = pkts;
|
|
|
+ stats->tx_bytes = bytes;
|
|
|
+ stats->tx_errors = errors;
|
|
|
}
|
|
|
|
|
|
-static struct net_device_stats *niu_get_stats(struct net_device *dev)
|
|
|
+static struct rtnl_link_stats64 *niu_get_stats(struct net_device *dev,
|
|
|
+ struct rtnl_link_stats64 *stats)
|
|
|
{
|
|
|
struct niu *np = netdev_priv(dev);
|
|
|
|
|
|
if (netif_running(dev)) {
|
|
|
- niu_get_rx_stats(np);
|
|
|
- niu_get_tx_stats(np);
|
|
|
+ niu_get_rx_stats(np, stats);
|
|
|
+ niu_get_tx_stats(np, stats);
|
|
|
}
|
|
|
- return &dev->stats;
|
|
|
+
|
|
|
+ return stats;
|
|
|
}
|
|
|
|
|
|
static void niu_load_hash_xmac(struct niu *np, u16 *hash)
|
|
@@ -9711,7 +9715,7 @@ static const struct net_device_ops niu_netdev_ops = {
|
|
|
.ndo_open = niu_open,
|
|
|
.ndo_stop = niu_close,
|
|
|
.ndo_start_xmit = niu_start_xmit,
|
|
|
- .ndo_get_stats = niu_get_stats,
|
|
|
+ .ndo_get_stats64 = niu_get_stats,
|
|
|
.ndo_set_multicast_list = niu_set_rx_mode,
|
|
|
.ndo_validate_addr = eth_validate_addr,
|
|
|
.ndo_set_mac_address = niu_set_mac_addr,
|