diff options
| author | Peter Zijlstra <peterz@infradead.org> | 2020-12-09 17:08:45 +0100 | 
|---|---|---|
| committer | Peter Zijlstra <peterz@infradead.org> | 2020-12-09 17:08:45 +0100 | 
| commit | 2b3c99ee6389d33aff91d9e7a55465d7d1332bbd (patch) | |
| tree | 9e1e5d839d80c95854007c958f2c367290bf1090 /drivers/net/ethernet/intel/igc/igc_main.c | |
| parent | 97d62caa32d6d79dadae3f8d19af5c92ea9a589a (diff) | |
| parent | 31784cff7ee073b34d6eddabb95e3be2880a425c (diff) | |
Merge branch 'locking/rwsem'
Diffstat (limited to 'drivers/net/ethernet/intel/igc/igc_main.c')
| -rw-r--r-- | drivers/net/ethernet/intel/igc/igc_main.c | 14 | 
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/net/ethernet/intel/igc/igc_main.c b/drivers/net/ethernet/intel/igc/igc_main.c index 9112dff075cf..b673ac1199bb 100644 --- a/drivers/net/ethernet/intel/igc/igc_main.c +++ b/drivers/net/ethernet/intel/igc/igc_main.c @@ -3891,21 +3891,23 @@ static int igc_change_mtu(struct net_device *netdev, int new_mtu)  }  /** - * igc_get_stats - Get System Network Statistics + * igc_get_stats64 - Get System Network Statistics   * @netdev: network interface device structure + * @stats: rtnl_link_stats64 pointer   *   * Returns the address of the device statistics structure.   * The statistics are updated here and also from the timer callback.   */ -static struct net_device_stats *igc_get_stats(struct net_device *netdev) +static void igc_get_stats64(struct net_device *netdev, +			    struct rtnl_link_stats64 *stats)  {  	struct igc_adapter *adapter = netdev_priv(netdev); +	spin_lock(&adapter->stats64_lock);  	if (!test_bit(__IGC_RESETTING, &adapter->state))  		igc_update_stats(adapter); - -	/* only return the current stats */ -	return &netdev->stats; +	memcpy(stats, &adapter->stats64, sizeof(*stats)); +	spin_unlock(&adapter->stats64_lock);  }  static netdev_features_t igc_fix_features(struct net_device *netdev, @@ -4855,7 +4857,7 @@ static const struct net_device_ops igc_netdev_ops = {  	.ndo_set_rx_mode	= igc_set_rx_mode,  	.ndo_set_mac_address	= igc_set_mac,  	.ndo_change_mtu		= igc_change_mtu, -	.ndo_get_stats		= igc_get_stats, +	.ndo_get_stats64	= igc_get_stats64,  	.ndo_fix_features	= igc_fix_features,  	.ndo_set_features	= igc_set_features,  	.ndo_features_check	= igc_features_check,  | 
