init_etherdev conversion for sb1000

davej@codemonkey.org.uk
Mon, 24 Mar 2003 16:41:49 +0000


Also plugs leak by kfree'ing dev_sb1000 on exit.

diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/net/sb1000.c linux-2.5/drivers/net/sb1000.c
--- bk-linus/drivers/net/sb1000.c 2003-03-08 09:57:16.000000000 +0000
+++ linux-2.5/drivers/net/sb1000.c 2003-03-17 23:42:27.000000000 +0000
@@ -218,7 +218,7 @@ sb1000_probe(struct net_device *dev)
"S/N %#8.8x, IRQ %d.\n", dev->name, dev->base_addr,
dev->mem_start, serial_number, dev->irq);

- dev = init_etherdev(dev, 0);
+ dev = init_etherdev(dev, sizeof(struct sb1000_private));
if (!dev) {
pnp_device_detach(idev);
release_region(ioaddr[1], 16);
@@ -227,12 +227,6 @@ sb1000_probe(struct net_device *dev)
}
SET_MODULE_OWNER(dev);

- /* Make up a SB1000-specific-data structure. */
- dev->priv = kmalloc(sizeof(struct sb1000_private), GFP_KERNEL);
- if (dev->priv == NULL)
- return -ENOMEM;
- memset(dev->priv, 0, sizeof(struct sb1000_private));
-
if (sb1000_debug > 0)
printk(KERN_NOTICE "%s", version);

@@ -1251,8 +1245,7 @@ void cleanup_module(void)
unregister_netdev(&dev_sb1000);
release_region(dev_sb1000.base_addr, 16);
release_region(dev_sb1000.mem_start, 16);
- kfree(dev_sb1000.priv);
- dev_sb1000.priv = NULL;
+ kfree(dev_sb1000);
}
#endif /* MODULE */

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/