public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* init_etherdev conversion for sb1000
@ 2003-03-24 16:41 davej
  2003-03-29  5:10 ` Jeff Garzik
  0 siblings, 1 reply; 2+ messages in thread
From: davej @ 2003-03-24 16:41 UTC (permalink / raw)
  To: jgarzik; +Cc: linux-kernel

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 */
 \f

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: init_etherdev conversion for sb1000
  2003-03-24 16:41 init_etherdev conversion for sb1000 davej
@ 2003-03-29  5:10 ` Jeff Garzik
  0 siblings, 0 replies; 2+ messages in thread
From: Jeff Garzik @ 2003-03-29  5:10 UTC (permalink / raw)
  To: davej; +Cc: linux-kernel

davej@codemonkey.org.uk wrote:
> 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));


nope -- init_etherdev only allocs when it's first arg is NULL.


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2003-03-29  4:58 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-03-24 16:41 init_etherdev conversion for sb1000 davej
2003-03-29  5:10 ` Jeff Garzik

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox