]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - net/ipv4/ipip.c
[SCTP]: extend exported data in /proc/net/sctp/assoc
[linux-2.6-omap-h63xx.git] / net / ipv4 / ipip.c
index e77e3b8558340d9f60f2f42a6a9eb7bc8e8720bb..dbaed69de06a8f1a52b4034c8531118bd9824d74 100644 (file)
@@ -228,20 +228,24 @@ static struct ip_tunnel * ipip_tunnel_locate(struct ip_tunnel_parm *parms, int c
        if (dev == NULL)
                return NULL;
 
+       if (strchr(name, '%')) {
+               if (dev_alloc_name(dev, name) < 0)
+                       goto failed_free;
+       }
+
        nt = netdev_priv(dev);
        dev->init = ipip_tunnel_init;
        nt->parms = *parms;
 
-       if (register_netdevice(dev) < 0) {
-               free_netdev(dev);
-               goto failed;
-       }
+       if (register_netdevice(dev) < 0)
+               goto failed_free;
 
        dev_hold(dev);
        ipip_tunnel_link(nt);
        return nt;
 
-failed:
+failed_free:
+       free_netdev(dev);
        return NULL;
 }