All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] janitor: insert missing iounmap(), add error handling
@ 2003-10-04  4:29 Randy.Dunlap
  2003-10-14 18:38 ` Jeff Garzik
  0 siblings, 1 reply; 2+ messages in thread
From: Randy.Dunlap @ 2003-10-04  4:29 UTC (permalink / raw)
  To: jgarzik; +Cc: netdev


Hi,
Please apply to 2.6.0-test6-current.

Thanks,
--
~Randy



From: Leann Ogasawara <ogasawara@osdl.org>
Subject: Re: [Kernel-janitors] [PATCH] insert missing iounmap()

> > Patch inserts a missing iounmap().  Implements a cleanup path
> > for error handling as well.  Feedback is much appreciated.  Thanks :)



===== drivers/net/natsemi.c 1.55 vs edited =====


 linux-260-test6-kj1-rddunlap/drivers/net/natsemi.c |   39 ++++++++++-----------
 1 files changed, 20 insertions(+), 19 deletions(-)

diff -puN drivers/net/natsemi.c~net_natsemi_iounmap drivers/net/natsemi.c
--- linux-260-test6-kj1/drivers/net/natsemi.c~net_natsemi_iounmap	2003-09-29 17:37:59.000000000 -0700
+++ linux-260-test6-kj1-rddunlap/drivers/net/natsemi.c	2003-09-29 17:37:59.000000000 -0700
@@ -765,19 +765,13 @@ static int __devinit natsemi_probe1 (str
 	SET_NETDEV_DEV(dev, &pdev->dev);
 
 	i = pci_request_regions(pdev, dev->name);
-	if (i) {
-		free_netdev(dev);
-		return i;
-	}
+	if (i)
+		goto err_pci_request_regions;
 
-	{
-		void *mmio = ioremap (ioaddr, iosize);
-		if (!mmio) {
-			pci_release_regions(pdev);
-			free_netdev(dev);
-			return -ENOMEM;
-		}
-		ioaddr = (unsigned long) mmio;
+	ioaddr = (unsigned long) ioremap (ioaddr, iosize);
+	if (!ioaddr) {
+		i = -ENOMEM;
+		goto err_ioremap;
 	}
 
 	/* Work around the dropped serial bit. */
@@ -835,13 +829,9 @@ static int __devinit natsemi_probe1 (str
 		dev->mtu = mtu;
 
 	i = register_netdev(dev);
-	if (i) {
-		pci_release_regions(pdev);
-		unregister_netdev(dev);
-		free_netdev(dev);
-		pci_set_drvdata(pdev, NULL);
-		return i;
-	}
+	if (i)
+		goto err_register_netdev;
+
 	netif_carrier_off(dev);
 
 	if (netif_msg_drv(np)) {
@@ -878,6 +868,17 @@ static int __devinit natsemi_probe1 (str
 
 
 	return 0;
+
+ err_register_netdev:
+	iounmap ((void *) dev->base_addr);
+
+ err_ioremap:
+	pci_release_regions(pdev);
+	pci_set_drvdata(pdev, NULL);
+
+ err_pci_request_regions:
+	free_netdev(dev);
+	return i;
 }
 
 

_

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

* Re: [PATCH] janitor: insert missing iounmap(), add error handling
  2003-10-04  4:29 [PATCH] janitor: insert missing iounmap(), add error handling Randy.Dunlap
@ 2003-10-14 18:38 ` Jeff Garzik
  0 siblings, 0 replies; 2+ messages in thread
From: Jeff Garzik @ 2003-10-14 18:38 UTC (permalink / raw)
  To: Randy.Dunlap; +Cc: netdev

patch applied to 2.4 and 2.5

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

end of thread, other threads:[~2003-10-14 18:38 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-10-04  4:29 [PATCH] janitor: insert missing iounmap(), add error handling Randy.Dunlap
2003-10-14 18:38 ` Jeff Garzik

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.