netdev
[Top] [All Lists]

Re: [PATCH 2.5.70+] tun using alloc_netdev

To: Stephen Hemminger <shemminger@xxxxxxxx>, "David S. Miller" <davem@xxxxxxxxxx>, Jeff Garzik <jgarzik@xxxxxxxxx>
Subject: Re: [PATCH 2.5.70+] tun using alloc_netdev
From: Max Krasnyansky <maxk@xxxxxxxxxxxx>
Date: Wed, 11 Jun 2003 12:21:44 -0700
Cc: netdev@xxxxxxxxxxx
In-reply-to: <20030609115857.38bb31d6.shemminger@osdl.org>
Sender: netdev-bounce@xxxxxxxxxxx
At 11:58 AM 6/9/2003, Stephen Hemminger wrote:


>-               if ((err = dev_alloc_name(&tun->dev, name)) < 0)
>-                       goto failed;
>-               if ((err = register_netdevice(&tun->dev)))
>+               dev = alloc_netdev(sizeof(struct tun_struct), name,
>+                                  tun_setup);
>+               if (!dev)
>+                       return -ENOMEM;
>+
>+               tun = dev->priv;
>+               tun->flags = flags;
>+
>+               if ((err = register_netdevice(tun->dev))) {
>+                       kfree(dev);
>                        goto failed;
>+               }


This is wrong. register_netdevice() does not expand name (ie %d stuff).
So dev_alloc_name() is still needed. i.e.

                dev = alloc_netdev(sizeof(struct tun_struct), name, tun_setup);
                if (!dev)
                        return -ENOMEM;

                err = dev_alloc_name(dev, name);
                if (err < 0) {
                        kfree(dev);
                        return err;
                }

Max


<Prev in Thread] Current Thread [Next in Thread>