revert android-tegra-2.6.36-honeycomb-mr1-9001adc to v2.6.36
[firefly-linux-kernel-4.4.55.git] / net / core / dev.c
index 1dad6c0926f23fce6d58e5fedde4aff806e429e4..660dd41aaaa6629c0d59547e04d23353ba935af8 100644 (file)
@@ -1648,10 +1648,10 @@ EXPORT_SYMBOL(netif_device_attach);
 
 static bool can_checksum_protocol(unsigned long features, __be16 protocol)
 {
-       return ((features & NETIF_F_NO_CSUM) ||
-               ((features & NETIF_F_V4_CSUM) &&
+       return ((features & NETIF_F_GEN_CSUM) ||
+               ((features & NETIF_F_IP_CSUM) &&
                 protocol == htons(ETH_P_IP)) ||
-               ((features & NETIF_F_V6_CSUM) &&
+               ((features & NETIF_F_IPV6_CSUM) &&
                 protocol == htons(ETH_P_IPV6)) ||
                ((features & NETIF_F_FCOE_CRC) &&
                 protocol == htons(ETH_P_FCOE)));
@@ -2891,15 +2891,6 @@ static int __netif_receive_skb(struct sk_buff *skb)
 ncls:
 #endif
 
-       /* If we got this far with a hardware accelerated VLAN tag, it means
-        * that we were put in promiscuous mode but nobody is interested in
-        * this vid. Drop the packet now to prevent it from getting propagated
-        * to other parts of the stack that won't know how to deal with packets
-        * tagged in this manner.
-        */
-       if (unlikely(vlan_tx_tag_present(skb)))
-               goto bypass;
-
        /* Handle special case of bridge or macvlan */
        rx_handler = rcu_dereference(skb->dev->rx_handler);
        if (rx_handler) {
@@ -2936,7 +2927,6 @@ ncls:
                }
        }
 
-bypass:
        if (pt_prev) {
                ret = pt_prev->func(skb, skb->dev, pt_prev, orig_dev);
        } else {