Comments
Patch
@@ -1722,6 +1722,7 @@ static struct net_device_stats *nv_get_stats(struct net_device *dev)
dev->stats.tx_packets = np->estats.tx_packets;
dev->stats.rx_bytes = np->estats.rx_bytes;
}
+ dev->stats.rx_packets = np->estats.rx_packets;
dev->stats.tx_bytes = np->estats.tx_bytes;
dev->stats.tx_fifo_errors = np->estats.tx_fifo_errors;
dev->stats.tx_carrier_errors = np->estats.tx_carrier_errors;
@@ -2709,7 +2710,6 @@ static int nv_rx_process(struct net_device *dev, int limit)
skb_put(skb, len);
skb->protocol = eth_type_trans(skb, dev);
napi_gro_receive(&np->napi, skb);
- dev->stats.rx_packets++;
if (unlikely(!(np->driver_data & DEV_HAS_STATISTICS_V23)))
dev->stats.rx_bytes += len;
next_pkt:
@@ -2794,7 +2794,6 @@ static int nv_rx_process_optimized(struct net_device *dev, int limit)
__vlan_hwaccel_put_tag(skb, vid);
}
napi_gro_receive(&np->napi, skb);
- dev->stats.rx_packets++;
if (unlikely(!(np->driver_data
& DEV_HAS_STATISTICS_V23)))
dev->stats.rx_bytes += len;
Use the hardware registers instead of a software implementation to account for the number of RX packets. Signed-off-by: David Decotigny <david.decotigny@google.com> --- drivers/net/ethernet/nvidia/forcedeth.c | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-)