| 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@xxxxxxxx> |
| 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> |
|---|---|---|
| ||
| Previous by Date: | Re: Real World Routers 8-), Florian Weimer |
|---|---|
| Next by Date: | Re: [PATCH 2.5.70+] tun using alloc_netdev, Jeff Garzik |
| Previous by Thread: | Re: [PATCH 2.5.70+] tun using alloc_netdev, David S. Miller |
| Next by Thread: | Re: [PATCH 2.5.70+] tun using alloc_netdev, Jeff Garzik |
| Indexes: | [Date] [Thread] [Top] [All Lists] |