Messages in this thread Patch in this message | | | Date | Wed, 16 Jul 2008 16:34:29 +0200 (CEST) | From | Julia Lawall <> | Subject | [PATCH 1/2] drivers/net/r6040.c: adjust error handling |
| |
From: Julia Lawall <julia@diku.dk>
The just preceding error case does a lot of error handling, so it seems like this one should as well.
The semantic match that found the problem is: (http://www.emn.fr/x-info/coccinelle/)
// <smpl> @@ expression E,E1,E2; @@
E = alloc_etherdev(...) ... when != E = E1 if (...) { ... free_netdev(E); ... return ...; } ... when != E = E2 ( if (...) { ... when != free_netdev(E); return dev; } | * if (...) { ... when != free_netdev(E); return ...; } | register_netdev(E) )
// </smpl>
Signed-off-by: Julia Lawall <julia@diku.dk>
--- diff -u -p a/drivers/net/r6040.c b/drivers/net/r6040.c --- a/drivers/net/r6040.c +++ b/drivers/net/r6040.c @@ -1029,7 +1029,8 @@ static int __devinit r6040_init_one(stru if (!ioaddr) { printk(KERN_ERR "ioremap failed for device %s\n", pci_name(pdev)); - return -EIO; + err = -EIO; + goto err_out_res; } /* Init system & device */
| |