init_etherdev conversion for sb1000

From: davej@codemonkey.org.uk
Date: Mon Mar 24 2003 - 11:41:49 EST


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/



This archive was generated by hypermail 2b29 : Mon Mar 31 2003 - 22:00:16 EST