]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/net/virtio_net.c
Merge branch 'bcmring/removal' into next/multiplatform
[karo-tx-linux.git] / drivers / net / virtio_net.c
index f18149ae2588e682e661100f026f7bcf60a16d06..83d2b0c34c5e63045eaeb63c3e40b14ab68e7875 100644 (file)
@@ -704,16 +704,16 @@ static struct rtnl_link_stats64 *virtnet_stats(struct net_device *dev,
                u64 tpackets, tbytes, rpackets, rbytes;
 
                do {
-                       start = u64_stats_fetch_begin(&stats->tx_syncp);
+                       start = u64_stats_fetch_begin_bh(&stats->tx_syncp);
                        tpackets = stats->tx_packets;
                        tbytes   = stats->tx_bytes;
-               } while (u64_stats_fetch_retry(&stats->tx_syncp, start));
+               } while (u64_stats_fetch_retry_bh(&stats->tx_syncp, start));
 
                do {
-                       start = u64_stats_fetch_begin(&stats->rx_syncp);
+                       start = u64_stats_fetch_begin_bh(&stats->rx_syncp);
                        rpackets = stats->rx_packets;
                        rbytes   = stats->rx_bytes;
-               } while (u64_stats_fetch_retry(&stats->rx_syncp, start));
+               } while (u64_stats_fetch_retry_bh(&stats->rx_syncp, start));
 
                tot->rx_packets += rpackets;
                tot->tx_packets += tpackets;
@@ -1062,7 +1062,7 @@ static int virtnet_probe(struct virtio_device *vdev)
                return -ENOMEM;
 
        /* Set up network device as normal. */
-       dev->priv_flags |= IFF_UNICAST_FLT;
+       dev->priv_flags |= IFF_UNICAST_FLT | IFF_LIVE_ADDR_CHANGE;
        dev->netdev_ops = &virtnet_netdev;
        dev->features = NETIF_F_HIGHDMA;