Merge branch 'kvm-updates/3.1' of git://git.kernel.org/pub/scm/virt/kvm/kvm
[firefly-linux-kernel-4.4.55.git] / net / 8021q / vlan_dev.c
index 6e82148edfc8c1009adec988e57c35a224111e3c..9d40a071d0382e7e893483066fa3bb5285fa8bc0 100644 (file)
@@ -20,6 +20,8 @@
  *             2 of the License, or (at your option) any later version.
  */
 
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
 #include <linux/module.h>
 #include <linux/slab.h>
 #include <linux/skbuff.h>
@@ -55,7 +57,7 @@ static int vlan_dev_rebuild_header(struct sk_buff *skb)
                return arp_find(veth->h_dest, skb);
 #endif
        default:
-               pr_debug("%s: unable to resolve type %X addresses.\n",
+               pr_debug("%s: unable to resolve type %X addresses\n",
                         dev->name, ntohs(veth->h_vlan_encapsulated_proto));
 
                memcpy(veth->h_source, dev->dev_addr, ETH_ALEN);
@@ -595,8 +597,7 @@ static u32 vlan_dev_fix_features(struct net_device *dev, u32 features)
        features &= real_dev->features;
        features &= real_dev->vlan_features;
 
-       if (old_features & NETIF_F_SOFT_FEATURES)
-               features |= old_features & NETIF_F_SOFT_FEATURES;
+       features |= old_features & NETIF_F_SOFT_FEATURES;
 
        if (dev_ethtool_get_rx_csum(real_dev))
                features |= NETIF_F_RXCSUM;
@@ -694,7 +695,7 @@ void vlan_setup(struct net_device *dev)
        ether_setup(dev);
 
        dev->priv_flags         |= IFF_802_1Q_VLAN;
-       dev->priv_flags         &= ~IFF_XMIT_DST_RELEASE;
+       dev->priv_flags         &= ~(IFF_XMIT_DST_RELEASE | IFF_TX_SKB_SHARING);
        dev->tx_queue_len       = 0;
 
        dev->netdev_ops         = &vlan_netdev_ops;