netvsc: Initialize 64-bit stats seqcount
authorFlorian Fainelli <f.fainelli@gmail.com>
Tue, 1 Aug 2017 19:11:12 +0000 (12:11 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 2 Aug 2017 03:06:07 +0000 (20:06 -0700)
On 32-bit hosts and with CONFIG_DEBUG_LOCK_ALLOC we should be seeing a
lockdep splat indicating this seqcount is not correctly initialized, fix
that. In commit 6c80f3fc2398 ("netvsc: report per-channel stats in
ethtool statistics") netdev_alloc_pcpu_stats() was removed in favor of
open-coding the 64-bits statistics, except that u64_stats_init() was
missed.

Fixes: 6c80f3fc2398 ("netvsc: report per-channel stats in ethtool statistics")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/hyperv/netvsc.c

index 0a9167dd72fb94e50692fa70ec9bc50fd99f733e..96f90c75d1b727edceb69925b127aed1415c792a 100644 (file)
@@ -1302,6 +1302,8 @@ int netvsc_device_add(struct hv_device *device,
                struct netvsc_channel *nvchan = &net_device->chan_table[i];
 
                nvchan->channel = device->channel;
+               u64_stats_init(&nvchan->tx_stats.syncp);
+               u64_stats_init(&nvchan->rx_stats.syncp);
        }
 
        /* Enable NAPI handler before init callbacks */