]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - net/ipv6/ip6_input.c
x86: split spinlock implementations out into their own files
[linux-2.6-omap-h63xx.git] / net / ipv6 / ip6_input.c
index 34e5a96623aece79e56c80a94d16d333df310273..7e14cccd0561d968e17e33a45ff9a76157990ebd 100644 (file)
@@ -71,7 +71,8 @@ int ipv6_rcv(struct sk_buff *skb, struct net_device *dev, struct packet_type *pt
 
        IP6_INC_STATS_BH(idev, IPSTATS_MIB_INRECEIVES);
 
-       if ((skb = skb_share_check(skb, GFP_ATOMIC)) == NULL) {
+       if ((skb = skb_share_check(skb, GFP_ATOMIC)) == NULL ||
+           !idev || unlikely(idev->cnf.disable_ipv6)) {
                IP6_INC_STATS_BH(idev, IPSTATS_MIB_INDISCARDS);
                rcu_read_unlock();
                goto out;
@@ -248,7 +249,7 @@ int ip6_mc_input(struct sk_buff *skb)
        /*
         *      IPv6 multicast router mode is now supported ;)
         */
-       if (ipv6_devconf.mc_forwarding &&
+       if (dev_net(skb->dev)->ipv6.devconf_all->mc_forwarding &&
            likely(!(IP6CB(skb)->flags & IP6SKB_FORWARDED))) {
                /*
                 * Okay, we try to forward - split and duplicate