* [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.