diff options
Diffstat (limited to 'drivers/net/ethernet/freescale/gianfar_ethtool.c')
-rw-r--r-- | drivers/net/ethernet/freescale/gianfar_ethtool.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/ethernet/freescale/gianfar_ethtool.c b/drivers/net/ethernet/freescale/gianfar_ethtool.c index 172acb923bfb..75e89acf4912 100644 --- a/drivers/net/ethernet/freescale/gianfar_ethtool.c +++ b/drivers/net/ethernet/freescale/gianfar_ethtool.c | |||
@@ -149,10 +149,10 @@ static void gfar_fill_stats(struct net_device *dev, struct ethtool_stats *dummy, | |||
149 | int i; | 149 | int i; |
150 | struct gfar_private *priv = netdev_priv(dev); | 150 | struct gfar_private *priv = netdev_priv(dev); |
151 | struct gfar __iomem *regs = priv->gfargrp[0].regs; | 151 | struct gfar __iomem *regs = priv->gfargrp[0].regs; |
152 | u64 *extra = (u64 *) & priv->extra_stats; | 152 | atomic64_t *extra = (atomic64_t *)&priv->extra_stats; |
153 | 153 | ||
154 | for (i = 0; i < GFAR_EXTRA_STATS_LEN; i++) | 154 | for (i = 0; i < GFAR_EXTRA_STATS_LEN; i++) |
155 | buf[i] = extra[i]; | 155 | buf[i] = atomic64_read(&extra[i]); |
156 | 156 | ||
157 | if (priv->device_flags & FSL_GIANFAR_DEV_HAS_RMON) { | 157 | if (priv->device_flags & FSL_GIANFAR_DEV_HAS_RMON) { |
158 | u32 __iomem *rmon = (u32 __iomem *) ®s->rmon; | 158 | u32 __iomem *rmon = (u32 __iomem *) ®s->rmon; |