summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorJulia Lawall <julia@diku.dk>2008-07-16 16:34:54 +0200
committerJohn W. Linville <linville@tuxdriver.com>2008-08-22 22:29:49 +0200
commitd92a8e81e097968d8f2bac0581a0a43bff14b8f0 (patch)
tree2b4000f9b42c846da173b154e85823818fd05927 /net
parentlibertas: add sysfs hooks to update boot2 and persistent firmware (diff)
downloadlinux-d92a8e81e097968d8f2bac0581a0a43bff14b8f0.tar.xz
linux-d92a8e81e097968d8f2bac0581a0a43bff14b8f0.zip
net/ieee80211: adjust error handling
Converts a test in error handling code to a sequence of labels. 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> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net')
-rw-r--r--net/ieee80211/ieee80211_module.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/net/ieee80211/ieee80211_module.c b/net/ieee80211/ieee80211_module.c
index 3bca97f55d47..949772a5a7dc 100644
--- a/net/ieee80211/ieee80211_module.c
+++ b/net/ieee80211/ieee80211_module.c
@@ -157,7 +157,7 @@ struct net_device *alloc_ieee80211(int sizeof_priv)
err = ieee80211_networks_allocate(ieee);
if (err) {
IEEE80211_ERROR("Unable to allocate beacon storage: %d\n", err);
- goto failed;
+ goto failed_free_netdev;
}
ieee80211_networks_initialize(ieee);
@@ -193,9 +193,9 @@ struct net_device *alloc_ieee80211(int sizeof_priv)
return dev;
- failed:
- if (dev)
- free_netdev(dev);
+failed_free_netdev:
+ free_netdev(dev);
+failed:
return NULL;
}