diff options
Diffstat (limited to 'drivers/net/macvlan.c')
-rw-r--r-- | drivers/net/macvlan.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c index 9bf46bd19b87..0924e51b9ee0 100644 --- a/drivers/net/macvlan.c +++ b/drivers/net/macvlan.c | |||
@@ -501,6 +501,7 @@ static int macvlan_init(struct net_device *dev) | |||
501 | { | 501 | { |
502 | struct macvlan_dev *vlan = netdev_priv(dev); | 502 | struct macvlan_dev *vlan = netdev_priv(dev); |
503 | const struct net_device *lowerdev = vlan->lowerdev; | 503 | const struct net_device *lowerdev = vlan->lowerdev; |
504 | int i; | ||
504 | 505 | ||
505 | dev->state = (dev->state & ~MACVLAN_STATE_MASK) | | 506 | dev->state = (dev->state & ~MACVLAN_STATE_MASK) | |
506 | (lowerdev->state & MACVLAN_STATE_MASK); | 507 | (lowerdev->state & MACVLAN_STATE_MASK); |
@@ -516,6 +517,12 @@ static int macvlan_init(struct net_device *dev) | |||
516 | if (!vlan->pcpu_stats) | 517 | if (!vlan->pcpu_stats) |
517 | return -ENOMEM; | 518 | return -ENOMEM; |
518 | 519 | ||
520 | for_each_possible_cpu(i) { | ||
521 | struct macvlan_pcpu_stats *mvlstats; | ||
522 | mvlstats = per_cpu_ptr(vlan->pcpu_stats, i); | ||
523 | u64_stats_init(&mvlstats->syncp); | ||
524 | } | ||
525 | |||
519 | return 0; | 526 | return 0; |
520 | } | 527 | } |
521 | 528 | ||