]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - net/ipv6/ipv6_sockglue.c
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
[mv-sheeva.git] / net / ipv6 / ipv6_sockglue.c
index 68566de4bcc5ca78950b4f81f936071a87b8538c..430454ee5ead4413de26d5607606d86ad11ecd94 100644 (file)
@@ -497,13 +497,17 @@ done:
                        goto e_inval;
 
                if (val) {
+                       struct net_device *dev;
+
                        if (sk->sk_bound_dev_if && sk->sk_bound_dev_if != val)
                                goto e_inval;
 
-                       if (__dev_get_by_index(net, val) == NULL) {
+                       dev = dev_get_by_index(net, val);
+                       if (!dev) {
                                retv = -ENODEV;
                                break;
                        }
+                       dev_put(dev);
                }
                np->mcast_oif = val;
                retv = 0;